首页 > 代码库 > (HDU)1718 -- Rank (段位)

(HDU)1718 -- Rank (段位)

题目链接:https://vjudge.net/problem/HDU-1718

这题还好,不用考虑字典序排名(可以并列排名),看到有的人用了结构体或二重数组,介于这题的特殊性,其实不用这样。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstdlib>

using namespace std;

int main()
{
    int jack,jack_grade,id,temp,grade[1010],num,Rank;
    while(~scanf("%d",&jack))
    {
        memset(grade,0,sizeof(grade));
        num=0;
        while(scanf("%d %d",&id,&temp))
        {
            if(id==0&&temp==0) break;
            num++;
            if(id==jack) jack_grade=temp;
            grade[num]=temp;
        }
        Rank=1;
        for(temp=1;temp<=num;temp++)
            if(grade[temp]>jack_grade) Rank++;
        printf("%d\n",Rank);
    }
}

 

(HDU)1718 -- Rank (段位)