社区讨论

求助,明明输出一样,却过不了

P1781宇宙总统参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo8zolw5
此快照首次捕获于
2023/10/28 03:11
2 年前
此快照最后确认于
2023/10/28 03:11
2 年前
查看原帖
下载了数据测试,看起来好像一样,但过不了,还请大佬帮忙看一下。
CPP
#include <bits/stdc++.h>
using namespace std;
int n,len,id;
string s[21],t;

void init()
{
	cin>>n;
	getchar();
	for (int i=1;i<=n;i++)
	{
		getline(cin,s[i]);
	}
}

bool compare(string x,string y,short l)
{
	for (int i=0;i<=l;i++)
	{
		if (x[i]>y[i])
		{
			return true;
		}
		else if (x[i]<y[i])
		{
			return false;
		}
	}
}

void count()
{
	t=s[1];
	id=1;
	for (int i=2;i<=n;i++)
	{
		int lens=s[i].size();
		if (lens>len)
		{
			len=lens;
			id=i;
			t=s[i];
		}
		else if (lens==len)
		{
			if (compare(s[i],t,len)==true)
			{
				len=lens;
				id=i;
				t=s[i];
			}
		}
	}
}

int main()
{
	init();
	count();
	cout<<id<<endl;
	for (int i=0;i<=len;i++)
	{
		if (s[id][i]!='\0')
		{
			int tmp=int(s[id][i])-48;
			cout<<tmp;
		}
	}
	return 0;
} 

回复

1 条回复,欢迎继续交流。

正在加载回复...