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 线段树点修改
先来介绍一下线段树. 线段树是一个把线段,或者说一个区间储存在二叉树中.如图所示的就是一棵线段树,它维护一个区间的和. 蓝色数字的是线段树的节点在数组中的位置,它表示的区间已经在图上标出,它的值就是这 ...
随机推荐
- skynet源码阅读<2>--网络部分
先来看下socket_server的数据结构,这里简称为ss: struct socket_server { int recvctrl_fd; int sendctrl_fd; int checkct ...
- Tomcat 系统架构与设计模式之一
Tomcat 系统架构与设计模式,第 1 部分: 工作原理 来自:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/index.html 这 ...
- codeforces 414A A. Mashmokh and Numbers(素数筛)
题目链接: A. Mashmokh and Numbers time limit per test 1 second memory limit per test 256 megabytes input ...
- JavaScript-Tool:Ext JS
ylbtech-JavaScript-Tool:Ext JS extjs是一种软件.自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染 ...
- 文本质量巧设置,一招让Visio 2007字体从模糊到清晰
微软的Visio是一款很好用的画图工具,不过,它有一个地方不太好,就是中文字体比较模糊. 如下图: 矩形框内是宋体,9pt,字体很不清晰.无奈我就只好用雅黑字体,略微好一些. 今天发现一个设置,只有修 ...
- ORA-01843: not a valid month 错误
转自:https://blog.csdn.net/jetluning/article/details/48785599 insert into ......的场合发生ORA-01843: not a ...
- vs2008控制台程序运行一闪而过,不显示按任意键继续
调试运行(F5)而且没插断点.且程序没有暂停的点,就会一闪而过 直接执行(Ctrl+F5),在程序结束前会有“按任意键继续” 当你不想进入调试状态,只想看一看程序执行结果时用ctrl+f5F5会进入调 ...
- eclipse中更改配置使得switch语句不出错
分别点击: windows---preference--->java---->compiler--->error/waring---->potential programmin ...
- View Controller Programming Guide for iOS---(八)---Using View Controllers in the Responder Chain
Using View Controllers in the Responder Chain 响应链中使用视图控制器 View controllers are descendants of the UI ...
- View Controller Programming Guide for iOS---(五)---Resource Management in View Controllers
Resource Management in View Controllers View controllers are an essential part of managing your app’ ...