1. 程式人生 > >【p1781】洛谷P1781宇宙總統題解

【p1781】洛谷P1781宇宙總統題解

brush blog iostream class main 一個 成了 stream ring

此題原本是一個簡單的排序,但因為數據範圍的限制,所以變成了一個需采用字符串排序的題目,接下來我將給大家講一下如何字符串排序。

首先先判斷為位數上是否相同,如果不同再比較那一位的數就可以了

#include<iostream>
#include<algorithm>
using namespace std;
struct ren
{
	string s;
	int b;
};
int cmp(ren a,ren b)
{
	if(a.s.size()!=b.s.size())
		return a.s.size()>b.s.size();
	else
		return a.s>b.s;
}
int main()
{
	int n;
	cin>>n;
	struct ren a[n+1];
	for(int i=1; i<=n; i++)
	{
		cin>>a[i].s;
		a[i].b=i;
	}
	sort(a+1,a+n+1,cmp);
	cout<<a[1].b<<endl<<a[1].s;
	return 0;
}

  

【p1781】洛谷P1781宇宙總統題解