请问大佬们为什么只有25分?

P1012 [NOIP1998 提高组] 拼数

@[Sun__Yj](/space/show?uid=97310) 请这样发代码 ```cpp #include <stdio.h> #include <stdlib.h> #include <string.h> char a[21][1000]; int main() { char s[1000]; int n; scanf("%d",&n); for(int i=0; i<n; i++) scanf("%s",a[i]); for(int i=0; i<n-1; i++) { for(int j=i+1; j<n; j++) { if(strcmp(a[i],a[j])!=1) { strcpy(s,a[i]); strcpy(a[i],a[j]); strcpy(a[j],s); } } } for(int i=0; i<n; i++) printf("%s",a[i]); //printf("\n"); return 0; } ```
by 波风水门 @ 2018-10-31 21:51:53


#include <stdio.h> #include <stdlib.h> #include <string.h> char a[21][1000]; int main() { char s[1000]; int n; scanf("%d",&n); for(int i=0; i<n; i++) scanf("%s",a[i]); for(int i=0; i<n-1; i++) { for(int j=i+1; j<n; j++) { if(strcmp(a[i],a[j])!=1) { strcpy(s,a[i]); strcpy(a[i],a[j]); strcpy(a[j],s); } } } for(int i=0; i<n; i++) printf("%s",a[i]); //printf("\n"); return 0; }
by Sun__Yj @ 2018-10-31 21:53:40


@[Sun__Yj](/space/show?uid=97310) 推荐使用sort快排,可以这样写 ```cpp #include<bits/stdc++.h> using namespace std; string a[21]; bool check(string a,string b) { return a+b>b+a; } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1,check); for(int i=1;i<=n;i++) { cout<<a[i]; } return 0; } ```
by 波风水门 @ 2018-10-31 21:54:29


@[四代目火影](/space/show?uid=81710) 谢谢 大佬们的题解我都已经看了,想用C写一个,不知道为什么只对了一个测试点
by Sun__Yj @ 2018-10-31 21:58:13


就是对字符串排序,是前面的加后面的大还是后面加前面的大
by Shui_Dream @ 2018-12-13 21:14:27


|