Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
227816 | 232218施彦恺 | 基础算法-贪心算法:最大整数 | C++ | 解答错误 | 80 | 0 MS | 276 KB | 990 | 2023-12-31 14:23:08 |
#include<bits/stdc++.h> using namespace std; string a[22]; int main(){ int n; cin>>n; int d=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]=="0"){ d++; } } if(d==n){ cout<<"0"; return 0; } for(int i=1;i<=n-1;i++){ for(int j=i+1;j<=n;j++){ for(int k=0;k<=max(a[i].size()-1,a[j].size()-1);k++){ if(k>a[i].size()-1){ if(a[j][k]<a[i][k-a[i].size()-1]){ swap(a[i],a[j]); break; } else if(a[j][k]>a[i][k-a[i].size()-1]){ break; } } else if(k>a[j].size()-1){ if(a[i][k]>a[j][k-a[j].size()-1]){ swap(a[i],a[j]); break; } else if(a[i][k]<a[j][k-a[j].size()-1]){ break; } } else if(a[i][k]<a[j][k]) { swap(a[i],a[j]); break; } else if(a[i][k]>a[j][k]){ break; } } } } for(int i=1;i<=n;i++){ cout<<a[i]; } return 0; }