HDU1177 "Accepted today?"
来源:互联网 发布:沪港通个股数据查询 编辑:程序博客网 时间:2024/06/06 16:51
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1177
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
const int MAX_SIZE = 150;
struct score
{
int problems;//解出的题数
string time;//用时
bool isTarget;//是否目标
};
struct score scores[MAX_SIZE];
int N,G,S,C,M,P;
bool compare(const score& s1, const score &s2)
{
if (s1.problems > s2.problems)
{
return true;
}
else if (s1.problems < s2.problems)
{
return false;
}
else
{//题数相同,比较用时
if (s1.time.compare(s2.time) > 0)
{
return false;
}
else if (s1.time.compare(s2.time) < 0)
{
return true;
}
}
}
int findTargetPos()
{//找到排序后的目标位置
int pos = -1;
for (int i = 0; i < N; ++i)
{
if (scores[i].isTarget == true)
{
pos = i;
break;
}
}
return pos + 1;
}
int main()
{
int i,pos;
while (cin >> N >> G >> S >> C >> M )
{
if(N == 0 && G == 0 && S == 0 && C == 0 && M == 0)break;
for (i = 0; i < N; ++i)
{
cin >> scores[i].problems >> scores[i].time;
scores[i].isTarget = false;
if (i == M - 1)
{
scores[i].isTarget = true;
}
}
sort(scores, scores + N, compare);
pos = findTargetPos();
if (pos <= G)
{
cout <<"Accepted today? I've got a golden medal :)" << endl;
}
else if (pos <= G + S)
{
cout <<"Accepted today? I've got a silver medal :)" << endl;
}
else if (pos <= G + S + C)
{
cout <<"Accepted today? I've got a copper medal :)" << endl;
}
else
{
cout << "Accepted today? I've got an honor mentioned :)" << endl;
}
}
return 0;
}
#include <algorithm>
#include <string>
using namespace std;
const int MAX_SIZE = 150;
struct score
{
int problems;//解出的题数
string time;//用时
bool isTarget;//是否目标
};
struct score scores[MAX_SIZE];
int N,G,S,C,M,P;
bool compare(const score& s1, const score &s2)
{
if (s1.problems > s2.problems)
{
return true;
}
else if (s1.problems < s2.problems)
{
return false;
}
else
{//题数相同,比较用时
if (s1.time.compare(s2.time) > 0)
{
return false;
}
else if (s1.time.compare(s2.time) < 0)
{
return true;
}
}
}
int findTargetPos()
{//找到排序后的目标位置
int pos = -1;
for (int i = 0; i < N; ++i)
{
if (scores[i].isTarget == true)
{
pos = i;
break;
}
}
return pos + 1;
}
int main()
{
int i,pos;
while (cin >> N >> G >> S >> C >> M )
{
if(N == 0 && G == 0 && S == 0 && C == 0 && M == 0)break;
for (i = 0; i < N; ++i)
{
cin >> scores[i].problems >> scores[i].time;
scores[i].isTarget = false;
if (i == M - 1)
{
scores[i].isTarget = true;
}
}
sort(scores, scores + N, compare);
pos = findTargetPos();
if (pos <= G)
{
cout <<"Accepted today? I've got a golden medal :)" << endl;
}
else if (pos <= G + S)
{
cout <<"Accepted today? I've got a silver medal :)" << endl;
}
else if (pos <= G + S + C)
{
cout <<"Accepted today? I've got a copper medal :)" << endl;
}
else
{
cout << "Accepted today? I've got an honor mentioned :)" << endl;
}
}
return 0;
}
- HDU1177 "Accepted today?"
- HDU1177:"Accepted today?"
- hdu1177("Accepted today?")
- hdu1177:"Accepted today?" 之基数排序
- " " ' '
- String s = "a" + "b" + "c" + "d" + "
- about"spaceused"
- extern "c"
- 说好"but"
- here."
- 程序设计 "
- "基于对象" 和 "面向对象"
- "git rm" 和 "rm" 的区别
- "转义
- 关于".set push"和".set pop"
- $("#id").val()取值textarea是""
- "CACHE-CONTROL" content="NO-CACHE"
- 何为"IOE"、"去IOE"
- 代码执行顺序
- 《Core Java 2》读书笔记(二)
- RedHat Enterprise Linux 5下配置Apache+Mysql+Php
- 《Core Java 2》读书笔记(一)
- HDU1272 小希的迷宫
- HDU1177 "Accepted today?"
- HDU1042 N!
- 解决VMware中没有eth0的问题
- HDU1002 A + B Problem II(修正版)
- HDU1301 Jungle Roads(克鲁斯卡尔算法版)
- HDU1301 Jungle Roads(普里姆算法版)
- POJ1023 The Fun Number System
- POJ2121 Inglish-Number Translator
- POJ1318 Word Amalgamation