1 条题解
-
0
#include <bits/stdc++.h> using namespace std; const int N=1e5+10; struct dzs// dzs就是大整数的首字母,随便命名的 { char s[105];int len;//s数组用来表示一个大整数的每一位,len表示一个大整数的位数 }a[N]; bool cmp(dzs n1,dzs n2)//自定义的比较函数,return n1<n2; { if(n1.len!=n2.len) return n1.len<n2.len; for(int i=0;i<n1.len;i++) if(n1.s[i]!=n2.s[i])return n1.s[i]<n2.s[i]; return 0; } int main() { int n;scanf("%d", &n); for(int i=1;i<=n;i++)scanf("%s",a[i].s),a[i].len=strlen(a[i].s); sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++)printf("%s\n",a[i].s); return 0; }
- 1
信息
- ID
- 342
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 308
- 已通过
- 78
- 上传者