社区讨论
求解为什么只有25分,悬赏5元!!!
P1012[NOIP 1998 提高组] 拼数参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mi6nvoi3
- 此快照首次捕获于
- 2025/11/20 07:56 4 个月前
- 此快照最后确认于
- 2025/11/20 07:56 4 个月前
CPP
#include<iostream>
#include <string>
using namespace std;
#define maxn 25
int main (){
int n;
cin>>n;
string a[maxn];
int boo[maxn];
//输入
for(int i=0;i<n;i++){
cin>>a[i];
boo[i]=0;
}
string res;
//每次找最大的那个,总共要找n次,两重循环
for(int i=0;i<n;i++){
int temp=0;
while (true){
if(boo[temp]==0){
break;
}
temp++;
}
for(int j=0;j<n;j++){
string temp_a;
string temp_b;
temp_a.append(a[j]);
temp_a.append(a[temp]);
temp_b.append(a[temp]);
temp_b.append(a[j]);
/*
if(boo[j]==0&&a[j].compare(a[temp])==1){
temp=j;
}*/
if(boo[j]==0&&temp_a.compare(temp_b)==1){
temp=j;
}
}
boo[temp]=1;
res.append(a[temp]);
}
cout<<res;
return 0;
}
第二个点就出现了错误,但是我本机上测试第二个测试点没有发现错误:
第二个测试点数据:
输入:
CPP4
13 24 75 42
输出:
CPP75422413
本机测试结果:
CPP4
13 24 75 42
75422413请按任意键继续. . .
如果能帮我解决这个问题,请联系我
QQ:599454157,谢谢
回复
共 7 条回复,欢迎继续交流。
正在加载回复...