北大1918题
来源:互联网 发布:卖淘宝小号的交易平台 编辑:程序博客网 时间:2024/05/17 04:14
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1918
1,排名关键字:正解数count降序、时间time升序、队名name升序
2,时间time计算:time = f_time+错态提交次数*20
3,名次调整:rank=1开始,所有具有相同名次的具有相同rank,下一个名次的为当前rank加已赋值有名次的人的数目
4,最后还涉及到输出的格式化
#include <iostream>
#include <algorithm>
using namespace std;
class Team
{
public:
char name[10];
int solved[10];
int count;
int time;
int rank;
bool operator < (const Team& t)
{
if(count > t.count)
return true;
if(count == t.count)
if(time < t.time)
return true;
if(count == t.count && time == t.time)
return strcmp(name,t.name) < 0;
return false;
}
};
int ID(Team team[10],int n,char* name)
{
int i;
for(i = 0;i < n;++i)
if(strcmp(team[i].name,name) == 0)
return i;
}
int main()
{
freopen("in.txt","r",stdin);
Team team[20];
char state[5],name[10];
int i,j,test,tnum,pnum,snum,pid,tid,time,r,rank;
cin >> test;
while(test--)
{
memset(team,0,sizeof(team));
cin >> tnum;
for(i = 0;i < tnum;++i)
cin >> team[i].name;
cin >> pnum >> snum;
for(i = 0;i < snum;++i)
{
cin >> pid >> time >> state >> name;
tid = ID(team,tnum,name);
if(team[tid].solved[pid] != -1)
{
if(state[0] == 'Y')
{
++team[tid].count;
team[tid].time += time;
team[tid].time += 20 * team[tid].solved[pid];
team[tid].solved[pid] = -1;
}
else
++team[tid].solved[pid];
}
}
sort(team,team + tnum);
for(rank = 1,i = 0;i < tnum;)
{
r = rank;
for(j = i;team[i].count == team[j].count && team[i].time == team[j].time
&& j < tnum;++j)
{
team[j].rank = r;
++rank;
}
i = j;
}
for(i = 0;i < tnum;++i)
printf("%2d. %-8s %d %4d/n",team[i].rank,team[i].name,team[i].count,team[i].time);
printf("/n");
}
return 0;
}
- 北大1918题
- 北大1002题
- 北大1503题
- 北大1519题
- 北大1517题
- 北大1068题
- 北大2039题
- 北大1484题
- 北大2590题
- 北大2608题
- 北大1047题
- 北大1102题
- 北大1316题
- 北大3268题
- 北大2394题
- 北大2895题
- 北大2109题
- 北大1328题
- JDBC连接orcal,sql server ,mysql 数据库字符串
- Tomcat 修改默认端口 以及Tomcat设置虚拟目录
- 新年开通博客
- OWB Useful links:Oracle Warehouse Builder!
- 公交车奇遇
- 北大1918题
- feof()函数注意事项
- ASP.NET2.0 部署IIS
- 基础知识:oracle数据字典总结
- 深入浅出C# 中文版 图文皆译 第四章 类型和引用 page148
- 2009.1.1-my first blog text
- 【编程游戏】贺岁放礼花。(点燃续帖1-141楼YH_Random的焰火)
- 30本C#、ASP.NET、SQL中文版PDF电子书下载
- struts+spring+hibernate整合问题解决方法 陆续更新中....