全红了,但给的样例能过,很奇怪
查看原帖
全红了,但给的样例能过,很奇怪
1131912
Laoliang_21楼主2024/2/23 13:25
using namespace std;
char a[20][102]={0};
int n;
int main(){
	scanf("%d", &n);
	getchar();
	for(int i=0; i<n; ++i){
		int ch;
		int j=1;
		while((ch=getchar())!='\n'){
			a[i][j]=ch;
			++j;
		}
		a[i][j]=-1;
		a[i][0]=j+48-1;
	}
	
	int maxno=0;	//最大值的序号 
	int maxn=0;		//比较时最大的位数
	for(int i=0; i<n; ++i){
		if(a[i][0]>maxn){	//如果找到比最大值位数还大的,则此为最大值,刷新最大位数 
			maxn=a[i][0];
			maxno=i;
		}
		else if(a[i][0]==maxn){	//如果位数一样,则从高到低一位一位比较 
			for(int j=1; j<a[i][0]; ++j){
				if(a[i][j]>a[maxno][j]){
					maxno=i;
					break;
				}
			}
		}
	}
	printf("%d\n", maxno+1);
	for(int j=1; a[maxno][j]>=0; ++j){
		printf("%c",a[maxno][j]);
	}
	
	return 0;
}

Wrong Answer.wrong answer On line 1 column 1, read 5, expected 4.但我的输出是4啊,求助大佬

2024/2/23 13:25
加载中...