HDU-1225 Football Score 模拟问题(水题)
题目链接:https://cn.vjudge.net/problem/HDU-1225
水题
代码
#include <algorithm>
#include <string>
#include <cstdio>
#include <map>
using namespace std;
struct Team{
int score[3];
string name;
Team(string name="", int s1=0, int s2=0, int s3=0):name(name) {
score[0]=s1; score[1]=s2; score[2]=s3;
}
bool operator < (const Team &a) const{
if (score[0]!=a.score[0]) return score[0]>a.score[0];
if (score[1]!=a.score[1]) return score[1]>a.score[1];
if (score[2]!=a.score[2]) return score[2]>a.score[2];
return name<a.name;
}
}arr[1000+5];
int main(void){
int n;
while (scanf("%d", &n)==1 && n){
map<string, int> getidx;
int size=0, end=n*(n-1), scores[2][3], s[2];
char teamname[2][1000];
for (int i=0; i<end; i++){
scanf("%s%*s%s%d:%d", teamname[0], teamname[1], &s[0], &s[1]);
if (s[0]==s[1]) scores[0][0]=scores[1][0]=1;
else if (s[0]>s[1]) scores[0][0]=3, scores[1][0]=0;
else scores[0][0]=0, scores[1][0]=3;
scores[0][1]=s[0]-s[1]; scores[0][2]=s[0];
scores[1][1]=s[1]-s[0]; scores[1][2]=s[1];
for (int i=0; i<2; i++){
if (!getidx.count(teamname[i])){
getidx[teamname[i]]=size++;
arr[getidx[teamname[i]]]=Team(teamname[i], scores[i][0], scores[i][1], scores[i][2]);
}else for (int j=0; j<3; j++)
arr[getidx[teamname[i]]].score[j]+=scores[i][j];
}
}
sort(arr, arr+size);
for (int i=0; i<size; i++)
printf("%s %d\n", arr[i].name.c_str(), arr[i].score[0]);
printf("\n");
}
return 0;
}
HDU-1225 Football Score 模拟问题(水题)的更多相关文章
- HDU 2096 小明A+B --- 水题
HDU 2096 /* HDU 2096 小明A+B --- 水题 */ #include <cstdio> int main() { #ifdef _LOCAL freopen(&quo ...
- hdu 2117:Just a Numble(水题,模拟除法运算)
Just a Numble Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- [HDU 2602]Bone Collector ( 0-1背包水题 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 水题啊水题 还给我WA了好多次 因为我在j<w[i]的时候状态没有下传.. #includ ...
- hdu 2050:折线分割平面(水题,递归)
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- hdu 2044:一只小蜜蜂...(水题,斐波那契数列)
一只小蜜蜂... Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...
- HDU 4706 Children's Day (水题)
Children's Day Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- hdu 1201:18岁生日(水题,闰年)
18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- hdu 2025:查找最大元素(水题,顺序查找)
查找最大元素 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 6300.Triangle Partition-三角形-水题 (2018 Multi-University Training Contest 1 1003)
6300.Triangle Partition 这个题就是输出组成三角形的点的下标. 因为任意三点不共线,所以任意三点就可以组成三角形,直接排个序然后输出就可以了. 讲道理,没看懂官方题解说的啥... ...
随机推荐
- 51nod 1435 位数阶乘 (手动计算)
题目: 1435 位数阶乘 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 X是一个n位数的正整数 (x=a0a1...an−1) ...
- 【原创】RPM安装软件时解决依赖性问题(自动解决依赖型)
满足以下3个条件才能自动解决依赖性: 1.使用rpmdb -redhat(在安装时会自动弹出依赖性错误) 2.所有互相依赖的软件都必须在同一个目录下面. 3.调用-aid参数.
- FCC高级编程篇之Record Collection
Record Collection You are given a JSON object representing a part of your musical album collection. ...
- Hadoop不同模式下关键配置属性
Hadoop分为三种模式: 独立(或本地)模式. 伪分布模式. 全分布模式 不同模式下关键配置项及属性内容如下面表格所示 组件名称 配置的文件名 属性名称 独立模式 伪分布模式 全分布模式 Commo ...
- 企业微信H5支付返回不到自己指定的结果页面
项目:vue做的H5项目,嵌入到企业微信里 发现的问题:支付完成后的跳转页面 跳转不到自己指定的页面 问题在于:调支付接口时,redirectUrl: document.location.protoc ...
- maven使用技巧
转:MAVEN常用命令 Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1 ...
- C语言变量名转字符串的方法
C语言中将变量名转换成字符串使用的是#符号,来看下边两个宏定义: #define name2str(name) (#name) #define print_val(x) printf(#x" ...
- yum下载的rpm包离线安装
#修改yum设置,让rpm包缓存到本地 vi /etc/yum.conf #修改keepcache为1 keepcache=1 #清空yum缓存 yum clean all #安装你要离线安装的rpm ...
- Java基础学习总结(46)——JAVA注解快速入门
各位开发童鞋,注解这个东西我们肯定每天都能看见,也许有时候看的太多了到是会忽略注解这东西具体是如何工作的.今天在这里用最短的篇幅快速讲解下注解的原理,对这块记的不太清楚的同学也可以再次看看,下次有人详 ...
- C++归并排序总结
#include <iostream> using namespace std; //归并排序非递归版. void Sort(int a[], int n,int high) { int ...