zoukankan      html  css  js  c++  java
  • 火影忍者之~鸣人 (字符串处理,strcmp)

    火影忍者的男主角漩涡鸣人,因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在,火影是动漫火影忍者中主人公鸣人所在的国家的最强忍者的头衔,史上最强火影为鸣人的父亲--四代火影波风水门,乃是传说级的人物,也是最年轻的火影,要成为火影,不仅需要有千种忍术和全村人的认同 更要有冷静的头脑 德高望重也必不可少 还要有优秀的领导能力,这之中战斗能力是最重要的,然后是领导能力,现在又到了选火影的时候了,可是鸣人此时还很弱,所以给出m个候选人,每个人有战斗力、领导能力两个主要的作为能力判断的依据,还有n个个人信息,第一条信息为名字,按战斗力和领导能力的高低作为标准,判断这些人中最具有担任火影资格的k人。

    Input

    第一行:m,n,k都为整数

    然后是m个候选人的信息,每个人的信息包括n行,第一行是名字,接下来n-1行是其他信息,每条信息为不超过100的字符串,然后是战斗力、领导能力为一行,m、n不超过500. k不超过50.字符串均不包括空白符

    Output输出前k个人的名字。战斗力和领导能力都相同则按名字的字典序排列。(如果名字也相同则依次按后面的个人信息的字典序排列)Sample Input

    5 3 3

    dawn

    haligong

    dianji

    500 500

    freelon

    haligong

    wangluo

    500 500

    zeropointer

    haligong

    dianqi

    600 400

    cha

    haligong

    computer

    800 600

    13brother

    haligong

    computer

    400 400

    Sample Output

    cha

    zeropointer

    dawn

    题解:sort,字符串比较

    #include <iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    using namespace std;
    int n,m,k;
    struct node
    {
        char ch[505][105];
        int x,y;
    }a[505];
    bool cmp(node a,node b)
    {
       if (a.x!=b.x) return a.x>b.x;
        else if (a.y!=b.y) return a.y>b.y;
         else
         {
           for(int j=1;j<=n;j++)
            {
             if (strcmp(a.ch[j],b.ch[j])!=0)//等于0的时候说明两个字符串相等,strcmp<0,按字典序;>0,降续;
                 return strcmp(a.ch[j],b.ch[j])<0;
            }
         }
    }
    int main()
    {
        while(~scanf("%d%d%d",&m,&n,&k))
        {
            for(int i=1;i<=m;i++)
            {
                for(int j=1;j<=n;j++)
                scanf("%s",a[i].ch[j]);
                scanf("%d%d",&a[i].x,&a[i].y);
            }
             sort(a+1,a+1+m,cmp);
             //sort(a+1,a+1+k,cmp2);
                for(int i=1;i<=k;i++)
                    printf("%s
    ",a[i].ch[1]);
        }
    
        return 0;
    }
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/stepping/p/6506923.html
Copyright © 2011-2022 走看看