uva-10194-排序

题意:

如果一个队伍的得分比对方高,那么就赢得这场游戏,很明显,如果得分低那就是输了,如果俩个队伍
的得分一样,那么就是平局,赢得比较获得3个点的得分,平手1个点的得分,输了0分.
排序规则如下
1:得分点高.
2:赢的场数多.
3:大的进球数和失球数的差距(进球数-失球数),
4:高的得分记录
5:比赛的场数少
6:字典序

输入
第一行输入一个int表示有N(0<N<1000)行输入,随后,N场比赛的描述,
每场比赛的描述由单独一行的赛场名字开始,锦标赛的名字由任意的字母,数字,空格组成,最多100个字符.
输入的下一行是一个数字T(1<T<30),代表参与这次比赛的队伍数量,随后T行.
每行包含一个队伍名字,队伍名字xxxx,不包含#和@,不超过30个字符.
在队伍名字后的一行中,一个非负的整数G,表示这个队伍在这次竞标赛中已经比赛过的场次数,
G不会大于1000,随后G行表示比赛的结果,格式如下
team_name_1#[email protected]#team_name_2
比如:
Team A#[email protected]#Team B
表示Team_A和Team_B比赛的结果是Team_A获得了3个得分,Team_B获得了一个得分.
所有的得分都是小于20的非负整数,队伍名字一定是存在的.不能自己和自己比赛.

输出
对于每场锦标赛,首页输出锦标赛的名字,随后的T行,根据排序的规则,输出排序结果.
注意,字典序排序大小写不敏感,输出的格式如下.
[a]) T eam name [b]p, [c]g ([d]-[e]-[f]), [g]gd ([h]-[i]),下面是对[a]什么的解释
[a]=排名
[b]=总得分点
[c]=比赛场数
[d]=赢的场数
[e]=平局场数
[f]=输的场数
[g]=进球和失球的差距
[h]=进球数
[i]=失球数
空行数查看具体输出.

时间: 2024-08-02 23:00:19

uva-10194-排序的相关文章

UVa 10194 - Football (aka Soccer)

题目:给你一些球队的比赛记录,对球队的成绩进行排序. 分析:模拟.按照题意模拟即可. 排序优先级:1.分数高 ,2.胜场多,3.净胜球多,4.进球多,5.比赛场次少,6.队名字典序. 注意:队名大小写不敏感,即大小写认为是相同的. #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> using namesp

Football (aka Soccer) UVA 10194

说说:万万没想到会在这道题上花费这么多时间.这道题其实就是比较繁琐而已,需要一个比较大的结构记录一个队伍的所有信息.原以为最难的是对比赛结果字符串的提取,但事实证明这倒还挺简单的.关键是后面对比赛结果的排序,原理相对简单,代码较庞大.需要注意的是,最后如果按队名排序是不区分大小写的,并且队名不只是英文字母!而且这里提一下C的语言特性,如果在调用一个返回字符指针的函数,且返回的是被调用函数内定义的字符数组,那样是会出错的,因为子函数调用结束后相应的资源就被释放了.要关注细节呀~哈哈~ 题目: Fo

UVa 11039 (排序+贪心) Building designing

白书上的例题比较难,认真理解样例代码有助于提高自己 后面的练习题相对简单,独立思考解决问题,增强信心 题意:n个绝对值各不相同的非0整数,选出尽量多的数排成序列,使得该序列正负交错且绝对值递增. 解法:先按绝对值从小到大排序,然后第一个数先入队,然后依次比较后面的数,如果和队尾的数符号相反则入队,直到所有的数遍历完为止 这里用了异或运算,因为这里面没有0,所谓符号相同的两个数异或值为正,不同符号的数异或值为负 1 //#define LOCAL 2 #include <algorithm> 3

UVa 1611 (排序 模拟) Crane

假设数字1~i-1已经全部归位,则第i到第n个数为无序区间. 如果i在无序区间的前半段,那么直接将i换到第i个位置上. 否则先将i换到无序区间的前半段,再将i归位.这样每个数最多操作两次即可归位. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const int maxn = 10000 + 10; 5 int a[maxn]; 6 vector<pair<int, int> > ans; 7 8 void

小白书练习题5.5.3 排序检索类、

UVA 340 Master-Mind Hints 题意:猜数字游戏,给n个数的序列给你.接下来一行是答案序列.剩下的都是猜测序列.对于每一个猜测序列,统计有多少个数字相同并且位置相同.有多少数字相同位置不同.每一个数字只能用一次. 思路:直接统计可以求出数字相同并且位置相同的哪一些数.在此过程中我加了一个标记数组.标记那些用过的数的位置为1,没用过为0:然后枚举猜测中哪些没用过的数字.去答案序列中找.当数字相等并且答案行中那个数也没用过时.计数加1: 1 #include<cstdio> 2

编程题目分类(剪辑)

1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代数 13. 组合问题 14. 数论 15. 网格,几何,计算几何 [编程入门] PC 110101, uva 100, The 3n+1 problem, 难度 1 PC 110102, uva 10189, Minesweeper, 难度 1 PC 110103, uva 10137, The T

uva 10474 Where is the Marble?(排序)

uva 10474 Where is the Marble? Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginning, Raju would place the marbles one after another in ascending order of the numbers written on them.

UVA - 10305 - Ordering Tasks (拓扑排序!)

UVA - 10305 Ordering Tasks Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Problem F Ordering Tasks Input: standard input Output: standard output Time Limit: 1 second Memory Limit: 32 MB John has n task

UVa 10152 龟壳排序

思路:先读入的一列是原始串,后读入的一列是目标串.最少操作次数的方式是,从下到上,只对原始串进行删除而不放到最上面能得到的目标串的以最下元素开头的最长子串,然后将目标串剩余的那些按序放在最上方,即按由下到上的顺序输出即可. Code: //#define LOCAL #include<stdio.h> #include<stdlib.h> #include<string.h> char name[210][90]; char target[210][90]; //cha

Uva 10305 给任务排序

题目链接:https://uva.onlinejudge.org/external/103/10305.pdf 紫书P167 拓扑排序. dfs——从一个点出发,dfs 与之相连的所有点,把本身放入到拓扑排序的首部. #include <bits/stdc++.h> using namespace std; const int Maxn = 1000; int G[Maxn][Maxn]; int topo[Maxn]; int c[Maxn]; int n,m,t; bool dfs(int