前三点RE,后两点WA,手打进去的还看上去是对了,裂开
查看原帖
前三点RE,后两点WA,手打进去的还看上去是对了,裂开
187210
dumixthestupid楼主2021/8/24 15:58

RE的话我不清楚是不是越界了,但是数组都开到500了,就是不行 WA我就更不清楚了 思路大概是每一个输入都比对一次,先比对长度,然后不行再去一位一位比,比到一半发现新的这个大就跳到长度那边去做完同样的事,小了就直接break出去看下一个

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,maxlen=0;
	char maxtik[500];
	cin>>n;
	for(int i=0;i<n+1;i++){
		int len=0;
		char tik[500];
		for(;;len++){
			char x=getchar();
			if(x=='\n')
				break;
			tik[len]=x;
		}
		if(len>maxlen){
			yes:
			maxlen=len;
			strcpy(maxtik,tik);
			m=i;
		}
		if(len==maxlen)
			for(int j=0;j<len;j++){
				if(tik[j]>maxtik[j])
					goto yes;
				if(tik[j]<maxtik[j])
					break;
			}
	}
	printf("%d\n%s",m,maxtik);
}
2021/8/24 15:58
加载中...