团体程序设计天梯赛-练习集 L2-009. 抢红包

来源:互联网 发布:淘宝网禁止发布 编辑:程序博客网 时间:2024/04/27 13:44

团体程序设计天梯赛-练习集
L2-009. 抢红包
https://www.patest.cn/contests/gplt/L2-009
简单的模拟,再排序。

#include<iostream>#include  <cstdio>using namespace std;bool enemy[105][105];int pre[105];int Find(int a) {    if (a != pre[a])pre[a] = Find(pre[a]);    return pre[a];}void uion(int a, int b) {    int t1 = Find(a), t2 = Find(b);    if (t1 != t2)pre[t1] = t2;}void make(int n) {    for (int i = 1; i <= n; i++)pre[i] = i;}int main(void) {    int n, m, k;    scanf_s("%d%d%d", &n, &m, &k);    make(n);    while (m--) {        int a, b, g;        scanf_s("%d%d%d", &a, &b, &g);        if (g == 1)uion(a, b);        else enemy[a][b] = enemy[b][a] = 1; //a和b是敌人    }    while (k--) {        int a, b;        scanf_s("%d%d", &a, &b);        int ta = Find(a), tb = Find(b);        if (enemy[a][b]) {            if (ta == tb)printf("OK but...\n");            else printf("No way\n");        }        else {            if (ta == tb)printf("No problem\n");            else printf("OK\n");        }    }    return 0;}
0 0