题目链接:
点击打开链接
题意:选举。输入n(表示候选人数)输入m(表示参与选举的城市)。接下来m行表示每个城市对n个候选人的投票情况。票数最高的候选人算当行城市所推荐的人(即票数+1)(如果最大票数出现相同情况 取下标最小的候选人)。输出最后获胜的候选人序号。
题解:模拟,一下。QAQ
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
//选举。输入n(表示候选人数)输入m(表示参与选举的城市)。
//接下来m行表示每个城市对n个候选人的投票情况。
//票数最高的候选人算当行城市所推荐的人(即票数+1)
//(如果最大票数出现相同情况 取下标最小的候选人)。
//输出最后获胜的候选人序号。
const int maxn = 1e3+5;
int book[maxn];
int main(){
int n,m;
cin >> n >> m;
int maxpos,maxx = -1;
for(int i = 0 ; i < m ;i ++ ){
maxx = -1;
for(int j = 1 ; j <= n ; j ++){
int x;
cin >> x;
if(x > maxx){
maxpos = j;
maxx = x ;
}
}
// cout << maxx << " " << maxpos << endl;
book[maxpos] ++;
}
int ans = - 1;
int anspos ;
for(int i = 1 ;i <= n ; i ++){
if(book[i] > ans){
ans = book[i];
anspos = i;
}
}
//cout << endl;
cout << anspos << endl;
}