1 条题解

  • 0
    @ 2024-3-10 10:59:50
    #include <bits/stdc++.h>
    int a[10][110];
    int res[1100];
    using namespace std;
    int main(){
    	int n;cin>>n;
    	int mx=0;
    	for(int i=1;i<=n;i++){
    		cin>>res[i];
    		int x=res[i];
    		int c=0;
    		while(x){
    			x/=10;
    			c++;
    		}
    		mx=max(mx,c);
    	}
    		int cc=1;
    		for(int i=1;i<=mx;i++){
    			for(int j=1;j<=n;j++){
    				int x=res[j];
    				x/=cc;
    				a[x%10][0]++;
    				a[x%10][a[x%10][0]] = res[j];
    			}
    			int idx=1;
    			for(int j=0;j<10;j++){
    				for(int k=1;k<=a[j][0];k++){
    					res[idx]=a[j][k];
    					idx++;
    				}
    				a[j][0]=0;
    			}
    			
    			cc*=10;
    		}
    	for(int i=1;i<=n;i++) cout<<res[i]<<" ";
    }
    
    • 1

    信息

    ID
    48
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    4
    已通过
    4
    上传者