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;
}


你可能感兴趣的:(table,input,Go,Matrix,output,pair)