码迷,mamicode.com
首页 > 其他好文 > 详细

poj 3117 World Cup(简单数学题)

时间:2014-08-02 21:00:14      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:poj   数学题   

题目链接:http://poj.org/problem?id=3117


World Cup
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 8634   Accepted: 4327

Description

A World Cup of association football is being held with teams from around the world. The standing is based on the number of points won by the teams, and the distribution of points is done the usual way. That is, when a teams wins a match, it receives 3 points; if the match ends in a draw, both teams receive 1 point; and the loser doesn’t receive any points.

Given the current standing of the teams and the number of teams participating in the World Cup, your task is to determine how many matches ended in a draw till the moment.

Input

The input contains several test cases. The first line of a test case contains two integers T and N, indicating respectively the number of participating teams (0 ≤ T ≤ 200) and the number of played matches (0 ≤N ≤ 10000). Each one of the T lines below contains the name of the team (a string of at most 10 letter and digits), followed by a whitespace, then the number of points that the team obtained till the moment. The end of input is indicated by T = 0.

Output

For each one of the test cases, your program should print a single line containing an integer, representing the quantity of matches that ended in a draw till the moment.

Sample Input

3 3
Brasil 3
Australia 3
Croacia 3
3 3
Brasil 5
Japao 1
Australia 1
0 0

Sample Output

0
2

Source

South America 2006, Brazil Subregion

题意:一场足球赛中,如果双方打成了平手,那么双方各得一分,否则,赢得一方的3分,输得一方不得分。输入比赛的局数t和各队的得分情况,求出结果为平局的数量。
思路:列两个方程解一下即可,我们可以设赢得局数为X,平局为Y,那么总得分sum = 3X+2Y;且X+Y=t;
解方程组得:Y = 3t-sum;

代码如下:

#include <cstdio>
#include <iostream>
using namespace std;
int main()  
{  
    int n,t;  
	char s[17];
	int num;
	int i, j;
	int sum;
    while (scanf("%d%d",&n,&t)!=EOF)  
    {  
        if(n == 0 && t == 0)  
			break;   
		sum = 0;
		for(i = 0; i < n; i++)
		{
            cin>>s>>num;  
            sum += num;  
        }  
		int ans = 3*t - sum;
        printf("%d\n",ans);  
    }  
    return 0;
}



poj 3117 World Cup(简单数学题),布布扣,bubuko.com

poj 3117 World Cup(简单数学题)

标签:poj   数学题   

原文地址:http://blog.csdn.net/u012860063/article/details/38350621

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!