33OJ
登录 注册

#ABC483C. 次选选举

次选选举

次选选举

题目描述

AtCoder 村正在举行村长选举。有 NN 名候选人,编号为 1,2,…,N1,2,\ldots,N。

有 MM 名选民。第 ii 名选民(1≤i≤M1 \le i \le M)的第一志愿是候选人 AiA_i,第二志愿是候选人 BiB_i。

当恰好有一名候选人退选时,每名选民按如下方式投票:

  • 如果该选民的第一志愿候选人没有退选,就投给第一志愿候选人;
  • 如果第一志愿候选人退选了,就投给第二志愿候选人。

在没有退选的候选人中,得票最多的人当选。如果有多人并列最多,则编号最小的人当选。

对每个 k=1,2,…,Nk=1,2,\ldots,N,请求出当只有候选人 kk 退选时,谁当选。

输入格式

输入第一行为两个整数 N,MN,M。

接下来 MM 行,第 ii 行为两个整数 Ai,BiA_i,B_i。

输出格式

输出 NN 行。第 ii 行表示当只有候选人 ii 退选时当选者的编号。

5 6
1 3
1 3
2 1
2 1
3 4
4 2
3
1
1
2
1

样例 1 解释

当只有候选人 11 退选时,投给候选人 11 的两名选民改投候选人 33,于是候选人 22 得 22 票、候选人 33 得 33 票、候选人 44 得 11 票,候选人 33 当选。

其余情况同理:候选人 22 退选时候选人 11 当选;候选人 33 退选时候选人 11 当选;候选人 44 退选时候选人 22 当选;候选人 55 退选时候选人 11 当选。

数据范围

对于所有测试数据,保证:

  • 2≤N≤2×1052 \le N \le 2 \times 10^5;
  • 1≤M≤2×1051 \le M \le 2 \times 10^5;
  • 1≤Ai,Bi≤N1 \le A_i,B_i \le N;
  • Ai≠BiA_i \neq B_i;
  • 所有输入值均为整数。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊性质
1∼61 \sim 6 3030 55 N,M≤2000N, M \le 2000
7∼207 \sim 20 7070 无特殊限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。