1121. Damn Single (25)解题报告

来源:互联网 发布:js api demo 编辑:程序博客网 时间:2024/05/22 21:50

直接一对一哈希。

如果没有单身狗,第二行为空。

#define _CRT_SECURE_NO_WARNINGS#include <cstdio>#include <cstdlib>struct couple {int c1, c2;bool flag, iscouple;};const int N = 100000;int main(void){couple *arr = (couple *)calloc(N, sizeof(couple));int n, m, i, j, c1, c2, cnt = 0;//setvbuf(stdin, new char[1 << 20], _IOFBF, 1 << 20);//setvbuf(stdout, new char[1 << 20], _IOFBF, 1 << 20);scanf("%d", &n);for (i = 0; i < n; i++) {scanf("%d %d", &c1, &c2);arr[c1].c1 = arr[c2].c2 = c1;arr[c1].c2 = arr[c2].c1 = c2;}scanf("%d", &m);for (i = 0; i < m; i++) {scanf("%d", &c1);arr[c1].flag = true;cnt++;c2 = arr[c1].c2;if (arr[c2].flag) {arr[c2].iscouple = true;arr[c1].iscouple = true;cnt -= 2;}}printf("%d\n", cnt);bool flag = false;for (i = 0; i < N; i++) {if (flag && arr[i].flag && !arr[i].iscouple) {printf(" %05d", i);}else if (!flag && arr[i].flag && !arr[i].iscouple) {printf("%05d", i);flag = true;}}return 0;}

0 0