洛谷P1781宇宙总统

很水的一道题,但用到了一些我没见过的知识,第一次结构体排序还可以这么写。。。

原题链接:https://www.luogu.org/problem/P1781

#include <bits/stdc++.h>
using namespace std;
struct qq
{
    int id;
    string s;
    int l;
}q[1000];
bool cmp(qq a,qq b) //才知道结构体排序还能这么写 :guai: 
{
    if(a.l>b.l) //如果前一个数长度比后一个大,则不交换
    {return 1;} //返回值为1则不交换
    if(a.l==b.l&&a.s>b.s) //原来string类型的可以直接比较 :guai: 
    {return 1;}
    return 0;
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {cin>>q[i].s;
    q[i].l=q[i].s.size(); //了解了string求字符串长度要用s.size()而不是strlen
    q[i].id=i+1;}
    sort(q,q+n,cmp);
    cout<<q[0].id<<endl;
    cout<<q[0].s<<endl;
    return 0;
}

 

 

点赞
  1. konoba说道:
    Google Chrome Windows 7

  2. 老夏说道:
    Google Chrome Windows 7

  3. 小黑说道:
    QQbrowser Windows 7

    666

发表评论

电子邮件地址不会被公开。必填项已用 * 标注