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

第一个错的样本点输入输出都一样(佬可以高抬贵手运行一下),对拍也对拍过了,就是过不了第一第二个样本点


orzorzorzorzorz麻烦各位佬看一下%%%%%%%%%%%%


in:5 98765 12365 87954 1022356 985678


out: 4 1022356

#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 21:08
加载中...