POJ 3224 Go for Lab Cup!(我的水题之路——赢的场数最多)

Go for Lab Cup!
Time Limit: 1000MS Memory Limit: 131072K
Total Submissions: 7697 Accepted: 3946

Description

The Lab Cup Table Tennis Competition is going to take place soon among laboratories in PKU. Students from the AI Lab are all extreme enthusiasts in table tennis and hold strong will to represent the lab in the competition. Limited by the quota, however, only one of them can be selected to play in the competition.

To make the selection fair, they agreed on a single round robin tournament, in which every pair of students played a match decided by best of 5 games. The one winning the most matches would become representative of the lab. Now Ava, head of the lab, has in hand a form containing the scores of all matches. Who should she decide on for the competition?

Input

The input contains exactly one test case. The test case starts with a line containing n (2 ≤ n ≤ 100), the number of students in the lab. Then follows an n × n matrix A. Each element in the matrix will be one of 0, 1, 2 and 3. The element at row i and column jaij, is the number of games won by the ith student in his/her match with the jth student. Exactly one of aij and aji (i ≠ j) is 3 and the other one will be less than 3. All diagonal elements of the matrix are 0’s.

Output

Output the number of the student who won the most matches. In the case of a tie, choose the one numbered the smallest.

Sample Input

4
0 0 3 2
3 0 3 1
2 2 0 2
3 3 3 0

Sample Output

4

Source

PKU Local 2007 (POJ Monthly--2007.04.28), ideas from ava, text and test cases by frkstyc

北大实验室要招人,就举办了比赛,n个人循环赛,如果赢了一场比赛就赢3分,否则获得不一定的分数。现在问谁赢得的比赛场数最多。

直接每行取分,如果是3分就+1,比较出获得3分最多的人,输出号码(从1开始)。

注意点:
1)不是算比分最高,而是得到3分的次数最多

代码(1AC):
#include <cstdio>
#include <cstdlib>

int main(void){
    int n;
    int max, maxi, sum, tmp;
    int i, j;

    while (scanf("%d", &n) != EOF){
        for (i = 1, max = -1; i <= n; i++){
            for (j = 1, sum = 0; j <= n; j++){
                scanf("%d", &tmp);
                if (tmp == 3){
                    sum ++;
                }
            }
            if (sum > max){
                max = sum;
                maxi = i;
            }
        }
        printf("%d\n", maxi);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值