蒟蒻80分求助,WA on T3
查看原帖
蒟蒻80分求助,WA on T3
671420
panda791130楼主2022/7/4 16:16

思路就是打擂台,用字符串读入,如果长度大于ans就替换ans,如果长度一样就从高数位比起,要是高数位大就替换掉,各位大犇们,到底那里错了呀

#include <bits/stdc++.h>
using namespace std;
#define s(x) int(strlen(x))
char m[100001], ans[100001], num;
int n;
int main()
{
  scanf("%d", &n);
  for(int x=1;x<=n;x++){
    scanf("%s",m);
    if(s(m)>s(ans)){
      num=x;
      for(int i=0;i<s(m);i++){
        ans[i]=m[i];
      }
    }else if(s(m)==s(ans)){
      for(int j=0;j<s(m);j++){
        if(m[j]>ans[j]){
          for(int i=0;i<s(m);i++){
            ans[i]=m[i];
          }
          num=x;
          break;
         }
      }
    }
  }
  printf("%d\n%s", num, ans);
  return 0;
}
2022/7/4 16:16
加载中...