死活通不过P1012 [NOIP1998 提高组] 拼数 ,我抱着试试看的心理去求助于chatgpt:
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
// 自定义比较函数,用于排序
bool cmp(int a, int b){
string str1 = to_string(a) + to_string(b);
string str2 = to_string(b) + to_string(a);
return str1 > str2;
}
string largestNumber(vector<int>& nums) {
sort(nums.begin(), nums.end(), cmp);
string res;
for(int i=0; i<nums.size(); i++){
res += to_string(nums[i]);
}
if(res[0] == '0') return "0"; // 特判,如果最大数为0,则直接返回0
return res;
}
int main() {
vector<int> nums;
long long n;
cin >> n;
for (long long i = 0; i < n; ++i) {
int s;
cin >> s;
nums.push_back(s);
}
string res = largestNumber(nums);
cout << res << endl; // 应输出 9534330
return 0;
}
这是chatgpt返回给我的代码,我改了改接受输入的部分,然后——测试样例全通过了!(不敢把代码上传到洛谷,只敢在本地测试)
顿时觉得自己连AI都比不过,没有前途了……
用的接口是这个