求助orzorz%%%这题有问题吧,对拍过了样本点过了就是错
查看原帖
求助orzorz%%%这题有问题吧,对拍过了样本点过了就是错
785548
domelon楼主2024/4/21 20:46

第一个错的样本点输入输出都一样(佬可以高抬贵手运行一下),对拍也对拍过了,就是过不了第一第二个样本点 orzorzorzorzorz麻烦各位佬看一下%%%%%%%%%%%% in: 5 98765 12365 87954 1022356 985678 out: 4 1022356 代码如下:```cpp #include <bits/stdc++.h> using namespace std; struct tt { string ss; int id; } s[22]; int cmp(tt s1, tt s2) { if (s1.ss.length() > s2.ss.length()) { // cout << "length>0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl; return 1; } else if (s1.ss.length() == s2.ss.length()) { if (s1.ss.compare(s2.ss) > 0) { // cout << "compare>0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl; return 1; } else { // cout << "compare<0" << s1.ss.compare(s2.ss) << " s1=" << s1.ss << " s2=" << s2.ss << endl; return 0; } } } int main() { string ss1 = "232", ss2 = "231"; // cout << ss1.compare(ss2) << endl; int n; cin >> n;

for (int a1 = 0; a1 < n; a1++)
{
	cin >> s[a1].ss;
	s[a1].id = a1 + 1;
}
sort(s, s + n, cmp);
// for (int a1 = 0; a1 < n; a1++)
// {
// 	// cout << s[a1].ss << " ";
// 	cout << s[a1].id;
// 	cout << endl;
// }

cout << s[0].id << endl
	 << s[0].ss;
return 0;

}

2024/4/21 20:46
加载中...