codevs 2905 足球晋级
A市举行了一场足球比赛
一共有4n支队伍参加,分成n个小组(每小组4支队伍)进行小组循环赛(胜积3分,平积1分,负不计分)
(晋级的球队积分最高)
问晋级的队伍是那些?
PS:每小组只能晋级一支球队
第一行:一个整数n(保证是四的倍数)
换行读入队伍名
接下来读入比分
换行输出每支队伍的名字
2
King
Soon
River
Ken
King 1:0 Soon
Soon 1:3 River
Ken 0:0 River
King 9:0 River
Soon 7:3 Ken
King 4:1 River
Blue
Son
Rivr
Ke
Blue 1:0 Son
Son 1:3 Rivr
Ke 0:0 Rivr
Blue 4:3 Rivr
Son 7:3 Ke
Blue 4:1 Rivr
King
Blue
保证每个小组只有一支队伍晋级
1<=n<=100
这题数据不规范到炸!
有的比赛或名字后不加空格 有的加空格
读空格只能过最后一个
不读过前三个
只能分情况做了 ~!
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <map> #define Mod 13831 using namespace std;
map<int,int>q;
int n;
struct Node
{
int Hash;
int point;
char Name[];
}Team[];
bool cmp(Node a,Node b)
{
return a.point>b.point;
}
int main()
{
cin>>n;
if(n==)
{
while(n--)
{
char str[],Match[];
int maxn=-0x7fffffff;
for(int k=;k<=;k++)
{
gets(str);
int x=;
int len=strlen(str);
for(int i=;i<len;i++) x=(x*+str[i])%Mod;
Team[k].Hash=x;
strcpy(Team[k].Name,str);
Team[k].point=;
q[x]=k;
}
for(int k=;k<=;k++)
{
gets(Match);
int i=,len=strlen(Match),x1=,x2=,y1=,y2=;
while(Match[i]!=' ') x1=(x1*+Match[i++])%Mod;
i++;
while(Match[i]!=':') x2=x2*+(int)Match[i++]-;
i++;
while(Match[i]!=' ') y2=y2*+(int)Match[i++]-;
i++;
for(int k=i;k<len;k++) y1=(y1*+Match[k])%Mod;
if(x2>y2) Team[q[x1]].point+=;
else if(x2==y2) Team[q[x1]].point++,Team[q[y1]].point++;
else if(x2<y2) Team[q[y1]].point+=;
}
sort(Team+,Team++,cmp);
cout<<Team[].Name<<endl;
for(int i=;i<=;++i) Team[i].point=,Team[i].Hash=;
}
return ;
}
else
{
while(n--)
{
char str[],Match[];
for(int k=;k<=;k++)
{
int x=;cin>>Team[k].Name;
int len=strlen(Team[k].Name);
for(int i=;i<len;i++) x=(x*+Team[k].Name[i])%Mod;
Team[k].point=;
q[x]=k;
}
char ch=getchar();ch=getchar();
for(int l=;l<=;l++)
{
gets(Match);
int i=,len=strlen(Match),x1=,x2=,y11=,y2=;
while(Match[i]!=' ') x1=(x1*+Match[i++])%Mod;
i++;
while(Match[i]!=':') x2=x2*+(int)Match[i++]-;
i++;
while(Match[i]!=' ') y2=y2*+(int)Match[i++]-;
i++;
for(int k=i;k<len;k++) if(Match[k]!=' ')y11=(y11*+Match[k])%Mod;
if(x2>y2) Team[q[x1]].point+=;
else if(x2==y2) Team[q[x1]].point++,Team[q[y11]].point++;
else if(x2<y2) Team[q[y11]].point+=;
}
sort(Team+,Team++,cmp);
cout<<Team[].Name<<endl;
for(int i=;i<=;++i) Team[i].point=;
}
}
return ;
}
codevs 2905 足球晋级的更多相关文章
- 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...
- 足球和oracle列(4):巴西惨败于德国,认为,差额RAC拓扑控制!
足球与oracle系列(4):从巴西慘败于德国,想到,差异的RAC拓扑对照! 前期回想: 本来想说今晚,回头一想,应该是今早第二场半决赛就要开战了!先来回味一下之前的比赛,本届8支小组赛第一名已经所有 ...
- 【noip模拟赛7】足球比赛 树
描述 在2009的中国城市足球比赛中,在2^N支队中,有一些队在开赛前宣布了退出比赛.比赛采取的是淘汰赛.比如有4支队伍参加,那么1队和2队比赛,3队和4队赛,然后1队和2队的胜者与3队和4队的胜者争 ...
- codevs 3289 花匠
题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...
- JS高级前端开发群加群说明及如何晋级
JS高级前端开发群加群说明 一.文章背景: 二. 高级群: 三. 加入方式: 四. 说明: 一.文章背景: 去年年初建了几个群,在不经意间火了,一直排在“前端开发”关键字搜索结果第一名.当然取得这 ...
- codevs 1082 线段树练习 3(区间维护)
codevs 1082 线段树练习 3 时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...
- codevs 1285 二叉查找树STL基本用法
C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...
- codevs 1576 最长上升子序列的线段树优化
题目:codevs 1576 最长严格上升子序列 链接:http://codevs.cn/problem/1576/ 优化的地方是 1到i-1 中最大的 f[j]值,并且A[j]<A[i] .根 ...
- codevs 1080 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
随机推荐
- 设置linux服务器下开放端口
查询 netstat -anp 所有开放端口信息 二.关闭端口号: iptables -A OUTPUT -p tcp --dport 端口号-j DROP 三.打开端口号: iptables -A ...
- I.MX6 2G DDR3 16G eMMC
/************************************************************************* * I.MX6 2G DDR3 16G eMMC ...
- java类成员访问权限总结(private,default,protected,public)
- jmeter+jenkins+ant部署持续集成测试
原文地址:http://blog.csdn.net/kaluman/article/details/74535495 开头的注意事项: 1.所有的环境变量和代码,都需要使用英文的符号,变量之间都需要英 ...
- npm 脚本
查看安装的包: npm list -g --depth 0 考虑到用CLI这种方式来运行本地的webpack不是特别方便,我们可以设置一个快捷方式,在package.json添加一个npm脚本(npm ...
- WaveNet: 原始音频生成模型
官方博客 WaveNet: A Generative Model for Raw Audio paper地址:paper Abstract WaveNet是probabilistic and auto ...
- A. Vanya and Table
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- gitbucket
github固然强大,但不怎么适合企业级的开发版本管理,原因相信大家都明白,首先在github上上传和拉取代码速度是比较慢的,再者,在Github上创建一个私有仓库是收费的,那么gitbucket是一 ...
- Codeforces 550B 【暴力】
题意: 有n个数字, 要求在这n个数中选出至少两个数字, 使得它们的和在L,R之间,并且最大的与最小的差值要不小于x 思路: 撒比了啊... 根据状态的话一共也就是2^15-直接暴力,二进制的小魅力还 ...
- WPF DataGrid foreground 绑定问题
初学WPF , 希望对DataGrid 中所属的一个Column名下的值的颜色动态修改 <DataGridTextColumn Header="隐含回购利率(%)" Bin ...