您的位置:首页 > 其它

uoj#9【UTR #1】vfk的数据

2017-04-14 00:10 204 查看
水题

注意字符串中的数字长度可以爆longlong所以直接比字符串就好

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
int n;
struct data{
char s[105];
char c[105];
int vl;
}d[10005];
int len;
bool cmp(data x,data y)
{
if(x.vl!=y.vl)return x.vl<y.vl;
for(int i=1;i<=x.vl;i++)
if(x.c[i]!=y.c[i])return x.c[i]<y.c[i];
}
int main()
{
int i,j,k,l,t=1;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%s",d[i].s);
len=strlen(d[1].s);
for(i=0;i<len;i++)
if(d[1].s[i]>='0'&&d[1].s[i]<='9')break;
k=i;
for(i=1;i<=n;i++){
t=0;
for(j=k;;j++){
if(d[i].s[j]<'0'||d[i].s[j]>'9')break;
t++;
d[i].c[t]=d[i].s[j];
}
d[i].vl=t;
}
sort(d+1,d+1+n,cmp);
for(i=1;i<=n;i++)printf("%s\n",d[i].s);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  排序 OI uoj