(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);
    }
}
时间: 2024-11-10 07:48:01

(HDU)1718 -- Rank (段位)的相关文章

HDU 1718 Rank counting sort解法

本题是利用counting sort的思想去解题. 注意本题,好像利用直接排序,然后查找rank是会直接被判WA的,奇怪的判断系统. 因为分数值的范围是0到100,非常小,而student 号码又非常大,故此天然的需要利用counting sort的情况. #include <stdio.h> #include <string.h> const int MAX_N = 101; int arr[MAX_N]; int main() { int Jackson, JackScore,

Hdu 1718 Rank

Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5525    Accepted Submission(s): 2201 Problem Description Jackson wants to know his rank in the class. The professor has posted a list of stud

HDU 1718 Rank (排序)

题意:给你n个学号和成绩,并且给定一个学号,让找这个学号是多少名. 析:用个结构体,按成绩排序,然后找那个学号,这个题有一个小坑,那就是并列的情况, 可能并列多少名,这个要考虑一下,其他的easy! 代码如下: #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <cstring>

hdu 1704 Rank(floyd传递闭包)

题目链接:hdu 1704 Rank 题意: 有n个人,m场比赛,a与b打,每场都是awin,问不能确定其中两个人的win情况数. 题解: floyd传递闭包,这里我用bitset优化了一下. 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int i=a;i<=b;++i) 3 using namespace std; 4 bitset<501>a[501]; 5 6 int n,m,t; 7 8 int main(){ 9

hdu 1811 Rank of Tetris (拓扑排序+并查集)

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4931 Accepted Submission(s): 1359 Problem Description自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他

杭电 HDU ACM 1718 Rank

 Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4160    Accepted Submission(s): 1616 Problem Description Jackson wants to know his rank in the class. The professor has posted a list of

HDU 1811 Rank of Tetris(并查集按秩合并+拓扑排序)

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9267    Accepted Submission(s): 2668 Problem Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想

HDU 1704 Rank

Rank Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 170464-bit integer IO format: %I64d      Java class name: Main there are N ACMers in HDU team.ZJPCPC Sunny Cup 2007 is coming, and lcy want to select some

HDU 1704 Rank【传递闭包】

解题思路:给出n个选手,m场比赛,问不能判断胜负的询问最多有多少种 用传递闭包即可 但是如果直接用3重循环会超时 在判断d[i][j]=d[i][k]||d[k][j]是否连通的时候 可以加一个if语句判断一下d[i][k]是否为1,为1再进行第三重循环,不为1则不进行第三次循环 反思:例如询问 3和1,1和3是相同的情况,所以最后判断的时候,只需要判断上三角矩阵即可. Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32