请求加强数据
查看原帖
请求加强数据
1384485
Folic楼主2024/11/20 21:45

此代码错误,但可以ac 数据点 2 12 122 应该输出12212,此代码输出12122

#include<iostream>
#include<string>
#include<cmath>
using namespace std;

int compare(string a,string b){
	int len=min(a.length(),b.length());
	for(int i=0;i<10;i++){
		char x='0',y='0';
		if(i>=a.length()){
			x=a[a.length()-1];
		}
		else x=a[i];
		if(i>=b.length()){
			y=b[b.length()-1];
		}
		else y=b[i];
		if(x>y) return 0;
		if(x==y) continue;
		if(x<y) return 1;
	}
	return 0;
}

int main(){
	int n;
	cin>>n;
	string a[n];
	
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=0;i<n-1;i++){
		for(int j=0;j<n-1;j++){
			if(compare(a[j],a[j+1])){
				swap(a[j],a[j+1]);

			}
		}
	}
	for(int i=0;i<n;i++){
		cout<<a[i];
	}
}
2024/11/20 21:45
加载中...