好迷啊
查看原帖
好迷啊
913742
Rume152楼主2024/1/27 22:34

如果AB > BA的话 , 那么A适合在前,那么为什么

#include<bits/stdc++.h>
using namespace std;
string s[25];
int n;
int main(){
	cin >> n;
	for (int i = 1; i <= n;i++)
		cin >> s[i];
	for (int i = 1; i <= n;i++)
		for (int j = 1; j <= n;j++){
			string a, b;
			a = s[i], b = s[j];
			if(a+b>b+a)
				swap(s[i], s[j]);
		}
	for (int i = 1; i <= n;i++)
		cout << s[i];
}

这里的if(a+b>b+a) swap(s[i], s[j]); 维护的是AB > BA的情况下交换把A换到后面吗不是,但代码是对的,要长脑子了(

2024/1/27 22:34
加载中...