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;
}
posted @ 2021-12-16 14:44  Eason_AC  阅读(42)  评论(0)    收藏  举报