75分求助
查看原帖
75分求助
1412732
litangzheng楼主2024/9/10 13:04

第一个数据和hack的最后一个数据没过

#include<bits/stdc++.h>
using namespace std;
long long n,a[25],wei[25][15],Head=1;
void chai(int N,int i,bool fir){
	Head=1;
	if(N==0){
		return;
	}
	chai(N/10,i,1);
	wei[i][Head]=N%10;
	Head++;
	if(fir==0) wei[i][Head+1]=999;
}
void pai(int N,int A,int b){
	if(N>11) return;
	if(wei[A][N]<wei[b][N]){
		swap(a[A],a[b]);
		for(int i=1;i<=11;i++){
			swap(wei[A][i],wei[b][i]);
		}
		return;
	}
	if(wei[A][N]==wei[b][N]){
		pai(N+1,A,b);
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		chai(a[i],i,0);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n-i;j++){
			pai(1,j,j+1);
		}
	}
	for(int i=1;i<=n;i++){
		cout<<a[i];
	}
	return 0;
} 
2024/9/10 13:04
加载中...