L2-010. 排座位
L2-010. 排座位
题目链接:https://www.patest.cn/contests/gplt/L2-010
并查集
相关题目:L2-007. 家庭房产,L3-003. 社交集群
下午打的时候什么都没用,直接上一个矩阵,没有考虑“甲是a的朋友,a是b的朋友,b是乙的朋友”这种多个人关系的情况,华丽WA。出来问了学长,用的是并查集,用一个矩阵来表示两人之间的敌对关系(写的时候还是WA了好多次,最后才发现是"No way"的"w"打成了大写QAQ)
代码如下:
#include<cstdio>
using namespace std;
bool enemy[][];
int pre[];
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=;i<=n;i++)pre[i]=i;
}
int main(void){
int n,m,k;
scanf("%d%d%d",&n,&m,&k);
make(n);
while(m--){
int a,b,g;
scanf("%d%d%d",&a,&b,&g);
if(g==)uion(a,b);
else enemy[a][b]=enemy[b][a]=; //a和b是敌人
}
while(k--){
int a,b;
scanf("%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 ;
}
L2-010. 排座位的更多相关文章
- 团体程序设计天梯赛-练习集L2-010. 排座位
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
- L2-010. 排座位(并查集)*
L2-010. 排座位 参考博客 #include<iostream> #include<math.h> using namespace std; ]; ][]; int fi ...
- [IOI2018] seats 排座位
[IOI2018] seats 排座位 IOI2018题解 压缩状态思想很不错的 每次把原来的贡献减掉,新来的再加上 最多涉及10个点 注意: 1.去重 2.下标从0开始 3.线段树初始的最小值个数都 ...
- pta l2-10(排座位)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805066135879680 题意:给宴席排座位,有n个人,m个 ...
- CCCC 排座位 图着色问题
1排座位:https://www.patest.cn/contests/gplt/L2-010 2图着色问题 https://www.patest.cn/contests/gplt/L2-023 建图 ...
- 排座位&&Little Elephant And Permutation——排列dp的处理
排列的问题,就是要把序列排个序,使之达到某种最优值或者统计方案数 dp可以解决部分排列问题. 通常的解决方案是,按照编号(优先级)排序决策,从左到右决策两种. 这里主要是第一个. 排座位• 有
- pat 团体天梯赛 L2-010. 排座位
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
- CCCC L2-010. 排座位【并查集/分类讨论】
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
- 天梯杯 L2-010. 排座位
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
随机推荐
- RHEL账号总结一:账号的分类
账号是一种用来记录单个用户或者多个用户的数据.RHEL中每一个合法的用户都必须拥有账号,才能使用RHEL. 在RHEL上的账号可以分为两类: 用户账号:用来存储单一用户的数据,你也可以使用一个用户账号 ...
- 【转】深入理解javascript原型和闭包(完结)
直接传送门-------------------->>>>>>>> 深入理解javascript原型和闭包(完结)
- H3 BPM报销流程开发示例
以报销流程为示例,介绍H3 BPM的流程开发过程. 报销流程的表单效果如下: 审核流程为填写报销申请.主管审核.总监审核(1000以上).出纳付款,显示如下: 步骤一:准备工作 使用管理员账号的登录H ...
- 将Cygwin Emacs设为Windows explorer默认打开程序
由于我在平日的学习与工作中会经常用到Cygwin中的Emacs,很自然地想到应该将emacsclient作为指定文件类型在Windows explorer中的默认打开程序.这样,便可以直接双击文件后在 ...
- 使用log4cxx在GUI 程序中将信息输出到Console
之前看到有个方法是在项目属性设置里实现的 以VS2010为例: 右键Project选择Properties->Configuration Properties->Build Events- ...
- #if和#ifdef区别
#if 是要去判断, 跟值有关 #ifdef 只要定义了即可, 就会走下面的代码, 不管值是0还是1 所以一般都是用#ifdef DEBUG调试
- 报错找不到org.apache,http...的解决办法
在build.gradle中加入 android { useLibrary 'org.apache.http.legacy' }
- 使用ab对站点进行压力测试
测试指令: window下: E:\wamp\bin\apache\Apache2.2.21\bin> .\ab -V //查看是否按照了ab:(V 大写) E:\wamp\bin\apach ...
- 一步步优化JVM二:JVM部署模型和JVM Runtime
选择JVM部署模型 JVM部署模型的选择总体来说就是决定应用是部署在单个JVM实例还是多个JVM实例上(这里简单举例说明一下JVM实例,比如:我们常用eclipse开发,启动一个eclipse就 ...
- Redis Cluster 实践
一:关于redis cluster 1:redis cluster的现状 reids-cluster计划在redis3.0中推出,可以看作者antirez的声明:http://antirez.com/ ...