题目描述:
题目解读:
n个人对k个议题投票,每个议题,票多的一方留下,票少的离席;平局的话都离席。本人可以开出其他任何人,要求自己能留下,且保留最多的人。
要保证自己留下,那么必须保证自己永远是票多的那一方,要实现这一目标只能把意见不同的提前开除,就可以保证自己一直赢。
解题思路:
题目给的字符串中第一行是自己的投票。
所以只需要把其他人投票结果和自己的投票结果进行比较,相同则不做操作,不同就n--;
最后输出n即可;
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<iostream>
using namespace std;
void Solve() {
int n, k, i;
scanf("%d%d", &n, &k);
string s[100];
int res = n;
for (i = 0; i < n; i++) {
cin >> s[i];
if (s[i] != s[0]) res--;
}
printf("%d\n", res);
return;
}
int main() {
int t;
scanf("%d", &t);
while (t--) Solve();
return 0;
}
遇到的错误: