关于P1781 宇宙总统
查看原帖
关于P1781 宇宙总统
555073
Lizzycoder楼主2022/10/15 17:04

方法1:

#include<bits/stdc++.h>
using namespace std;
int n;
struct node
{
	int id,ls;
	string c;
} pr[110];
bool cmp(node x,node y)
{
    if(x.ls == y.ls) {if(x.c > y.c) return x.c > y.c;}
    else return x.ls > y.ls;
	
}
int main()
{
    cin >> n;
    for(int i = 1;i <= n;i++)
    {
    	pr[i].id = i;
    	cin >> pr[i].c;
    	pr[i].ls = pr[i].c.size();
	}
	sort(pr+1,pr+n+1,cmp);
	cout<<pr[1].id<<endl<<pr[1].c<<endl;
	return 0;
}

以上为sort板ans,AC


方法二:

#include<bits/stdc++.h>
using namespace std;
int n;
struct node
{
	int id,ls;
	string s;
} pr[10010],maxn;
int main()
{
    cin >> n;
    for(int i = 1;i <= n;i++)
    {
    	pr[i].id = i;
    	cin >> pr[i].s;
    	pr[i].ls = pr[i].s.size();
	}
	maxn = pr[1];
	for(int i = 2;i <= n;i++)
	{
		if(pr[i].ls > maxn.ls)
		{
			maxn = pr[i];
		}
		else if(pr[i].ls == maxn.ls)
		{
			for(int j = 0;j < pr[i].ls;j++)
			{
				if(pr[i].s[j] > maxn.s[j])
				{
					maxn = pr[i];
					break;
				}
			}
		}
		else continue;
	}
	cout<<maxn.id<<endl;
	cout<<maxn.s<<endl;
	return 0;
}

WA,80分

这是为何,请各位指教。

2022/10/15 17:04
加载中...