7-14 排座位 (25 分)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。

输入格式:

输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询的宾客编号。

这里假设朋友的朋友也是朋友。但敌人的敌人并不一定就是朋友,朋友的敌人也不一定是敌人。只有单纯直接的敌对关系才是绝对不能同席的。

输出格式:

对每个查询输出一行结果:如果两位宾客之间是朋友,且没有敌对关系,则输出No problem;如果他们之间并不是朋友,但也不敌对,则输出OK;如果他们之间有敌对,然而也有共同的朋友,则输出OK but...;如果他们之间只有敌对关系,则输出No way

输入样例:

7 8 4
5 6 1
2 7 -1
1 3 1
3 4 1
6 7 -1
1 2 1
1 4 1
2 3 -1
3 4
5 7
2 3
7 2

输出样例:

No problem
OK
OK but...
No way
#include<bits/stdc++.h>
using namespace std;
const int N=110;
int g[N][N];
int n,m,k,x,y,z,p[N];
int find(int x){if(x!=p[x]) p[x]=find(p[x]);return p[x];
}
void add(int x,int y){x=find(x),y=find(y);p[x]=y;
}
int main(){cin>>n>>m>>k;for(int i=1;i<=n;i++)p[i]=i;for(int i=0;i<m;i++){cin>>x>>y>>z;if(z==1) {add(x,y);}else {g[x][y]=-1;g[y][x]=-1;}}for(int i=0;i<k;i++){cin>>x>>y;if(!g[x][y]&&find(x)!=find(y)) printf("OK\n");else if(!g[x][y]&&find(x)==find(y)) printf("No problem\n");else if(g[x][y]==-1&&find(x)==find(y)) printf("OK but...\n");else printf("No way\n");}return 0;
}

7-14 排座位 (25 分)相关推荐

  1. C++学习之路 | PTA(天梯赛)—— L2-010 排座位 (25分)(带注释)(并查集)(精简)

    L2-010 排座位 (25分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他 ...

  2. 【CCCC】L2-010 排座位 (25分),,并查集+二维矩阵判定关系

    problem L2-010 排座位 (25分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编 ...

  3. 7-10 排座位 (25分)(并查集)

    7-10 排座位 (25分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是 ...

  4. 【Java】7-5 实验室使用排期 (25分)(List排序)

    7-5 实验室使用排期 (25分)(List排序) 受新冠疫情影响,当前大家的活动都必须注意保持充分的社交距离,国家实验室的使用也同样受到了严格的限制.假设规定任何一个时间点上,实验室内最多只能有 1 ...

  5. CCCC 天梯赛-5-10 排座位

    5-10 排座位   (25分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他 ...

  6. 7-2 排座位 (25 分)

    7-2 排座位 (25 分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是 ...

  7. python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间

    #1.判断该地址 #1.文件名 #2.文件路径 #3.文件扩展名 #4.文件创建时间2020年10月14日14时25分32秒 #5.文件最后一次访问时间 #6.文件最后一次修改时间 #7.文件的大小( ...

  8. c语言寻找大富翁,PTA 7-38 寻找大富翁(25 分)解法(C/C++)暴力快排/精准堆排 解法...

    7-38 寻找大富翁 (25分) 胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人.假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁. 输入格式: 输入首 ...

  9. 某大学图书馆,共有25排座位,每排10个,要求显示前n排的座位号

    题目描述 某大学图书馆,共有25排座位,每排10个,要求显示前n排的座位号 输入 输入n 输出 显示前n排座位号 样例输入 10 样例输出 01-01 01-02 01-03 01-04 01-05 ...

最新文章

  1. 大数据与数据挖掘考试题_北京2020届中考物理出题策略大揭秘!
  2. 三大运营商扎堆进军“元宇宙”
  3. 【PAT (Advanced Level) Practice】1008 Elevator (20 分)
  4. python 二维list取列
  5. 搭建MongoDB分片集群
  6. k8s edit命令使用示例
  7. 查询数据库最大id加1
  8. 云图说|四大业务场景带您玩转华为云SAP
  9. c语言实现通讯录_C语言实现双人猜数字游戏
  10. Linux下查看网卡信息及确定网卡位置以及更改网卡名称
  11. 【CCCC】L2-001 紧急救援 (25分),,Dijkstra标准模板(多路径,最大点权和路径打印)
  12. udp广播收到重复包
  13. 基于ENVI/IDL实现国产卫星影像批处理功能
  14. 如何正确获取安卓内置SD卡的路径
  15. 点到直线的距离直线的交点及夹角
  16. 快速由PCI迁移到PCIe
  17. acwing 3496. 特殊年份(蓝桥杯)
  18. 加密操作-->图片加密
  19. 5e显示非vac服务器,CSGO出现VAC无法验证的解决方法
  20. redis evict.c内存淘汰机制的源码分析

热门文章

  1. java控制台输出五行字符串_java五行代码导出Excel
  2. java web access_Java Web项目中连接Access数据库的配置方法
  3. 员工转正述职答辩问什么问题_展风采 创未来 | 记德信地产杭州公司新员工转正述职答辩...
  4. JSTL (JSP标准标签库)
  5. 7.1 elementui的radio无法选中问题
  6. WPF中在XAML中实现数据类型转换的两种方法
  7. 组合数据类型练习,综合练习
  8. iOS interface适配
  9. 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之移动端开发随笔二
  10. 生日小助手的详细规划——本博文随时更新,持续有效……