CF570A Elections 题解
Content
有 \(n\) 个候选人和 \(m\) 个城市,每个城市可以给每个候选人投票,已知第 \(i\) 个城市给第 \(j\) 个人投的选票数是 \(a_{i,j}\)。我们将第 \(i\) 个城市投的票最多的且号码最小的候选人的总票数加 \(1\),请求出总票数最多并且号码最小的候选人。
数据范围:\(1\leqslant n,m\leqslant 100,1\leqslant a_{i,j}\leqslant 10^9\)。
Solution
直接模拟。开个桶把选票丢进对应的人去,然后再去统计票数最多的且号码最小的人即可。
Code
int n, m, a[107][107], v[107], ans;
int main() {
n = Rint, m = Rint;
F(i, 1, m) {
int id = 0;
a[i][id] = -1;
F(j, 1, n) {
a[i][j] = Rint;
if(a[i][j] > a[i][id]) id = j;
}
v[id]++;
}
v[ans] = -1;
F(i, 1, n) if(v[i] > v[ans]) ans = i;
printf("%d", ans);
return 0;
}