subtask 0只有点一与点二AC 其他全RE subtask 1 #3WA 求调
#include<bits/stdc++.h>
using namespace std;
long long a[1441];
int n;
int m(int lg){
int x=10;
for(int i=1;i<=lg;i++)
x*=x;
return x;
}
int zgw(int x){
int s;
while (x!=0){
s=x;
x/=10;
}
return s;
}
int bj(int x,int y){
int xw=0,yw=0;
int tx=x,ty=y;
while(tx!=0){
tx/=10;
xw++;
}
while(ty!=0){
ty/=10;
yw++;
}
xw--;yw--;
while(x!=0||y!=0){
if(zgw(x)==zgw(y)) {
x%=m(xw);
xw--;
y%=m(yw);
yw--;
}
if(zgw(x)>zgw(y)) return 1;
if(zgw(x)<zgw(y)) return 0;
}
return 2;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(zgw(a[i])<zgw(a[j])) swap(a[i],a[j]);
else if(zgw(a[i])==zgw(a[j])){
if(bj(a[i],a[j])==0) swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++)
cout<<a[i];
return 0;
}