选举
标题:选举 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
幸福村在选举村长,村民总数为n(编号为1~n),所有村民都是候选人,都有机会当选村长,得票数大于n/2的人当选村长。
注:
1、限定每人最多只能投一票,可以弃权。如果超过1票,则该村民所有的选票都无效
注:
1、限定每人最多只能投一票,可以弃权。如果超过1票,则该村民所有的选票都无效
2、不允许投自己,如果自己投自己,则该选票无效
#include<iostream> #include<vector> using namespace std; int main() { int n; int m; cin>>n>>m; vector<int> vt(n + 1); vector<int> nok(n + 1); int a, b; for (int i = 0; i < m; i++) { cin>>a>>b; if (a == b) { continue; } if (vt[a] != 0) { nok[a] = 1; } else { vt[a] = b; } } vector<int> tc(n + 1); int ans = -1; for (int i = 1; i < n + 1; i++) { if (nok[i] == 0) { tc[vt[i]]++; if (tc[vt[i]] > n / 2) { ans = vt[i]; break; } } } cout<<ans; return 0; }