zoukankan      html  css  js  c++  java
  • Song Jiang's rank list UVALive

    题目:按照所杀的敌人排名,所杀敌人相等的时候字典序小的排名在上,然后M个询问。

    sort 可以对结构体排序,数组字符串比较s1<s2,strcmp(s1,s2)=-1,string类字符串大小比较可以直接比。

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    typedef struct
    {
        char name[50];
        int k;
    }Pe;
    int num[205];
    Pe a[205];
    int cmp(Pe x,Pe y)
    {
        if(x.k!=y.k)
            return x.k>y.k;//按k的降序排列
        else
            return strcmp(x.name,y.name)<0;//按字典序从小到大排列
    }
    int main()
    {
      int n;
      while(scanf("%d",&n),n)
      {
          for(int i=0;i<n;i++)
          {
              scanf("%s",a[i].name);
              scanf("%d",&a[i].k);
          }
          sort(a,a+n,cmp);
          for(int i=0;i<n;i++)
            printf("%s %d
    ",a[i].name,a[i].k);
          int t;
          scanf("%d",&t);
            int g=0;
            while(g<n)
            {
                num[g]=1;
                int c=2;
                while(a[g].k==a[g+1].k&&g+1<n)
                {
                    num[g+1]=c;
                    c++;
                    g++;
                }
                g++;
            }
          for(int i=0;i<t;i++)
          {
              char s[50];
              scanf("%s",s);
              for(int i=0;i<n;i++)
              {
                  if(!(strcmp(s,a[i].name)))
                     {
                         if(num[i]==1) printf("%d
    ",i+1);
                         else printf("%d %d
    ",i-num[i]+2,num[i]);
    
                     }
              }
          }
      }
      return 0;
    }
  • 相关阅读:
    创意:网络族谱
    排列组合的要点
    创意:人生记录
    纽康悖论谜题
    发财的要点
    c#4.0协变逆变的理解
    关于开发自我训练课程
    反对继承
    远离疲倦,告别非理性思维
    中国软件正版化的理想模型
  • 原文地址:https://www.cnblogs.com/Twsc/p/7216020.html
Copyright © 2011-2022 走看看