[usaco]2013-jan Liars and Truth Tellers 真假奶牛
- Description
约翰有N头奶牛,有一部分奶牛是真话奶牛,它们只说真话,而剩下的是假话奶牛,只说假话。有一天,约翰从奶牛的闲谈中陆续得到了M句话,第i句话出自第Xi头奶牛,它会告诉约翰第Yi头是一头真话奶牛还是假话奶牛。然而,约翰记性不好,他可能把这些话的内容记错了。请检查一下 约翰的记录是否会有矛盾,帮助他找到一个尽量大的K使得约翰记下的前K句话不矛盾。
- Input Format
第一行:两个整数 N 和 M ,1 ≤ N ≤ 1000; 1 ≤ M ≤ 10000
• 第二行到 M + 1 行:第 i + 1 行有两个整数:Xi 和 Yi,1 ≤ Xi, Yi ≤ N ,接下来有一个字符:
– 如果是 T ,表示 Xi 说 Yi 是真话奶牛;
– 如果是 L,表示 Xi 说 Yi 是假话奶牛;
- Output Format
单个整数,即表示题目描述中的K
- Sample Input
4 3
1 4 L
2 3 T
4 1 T
- Sample Output
2
- Hint
解释
前两句没有矛盾, 但第一句和第三句存在矛盾
sol:
题目说的是前k个。。
并查集判断,如果一个点为真或为假时它的祖先相同,则矛盾了。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<cmath>
#include<set>
using namespace std; const int N=*,M=;
int n,m,fa[N];
char s[]; int findfa(int x)
{
if(fa[x]==x) return x;
return findfa(fa[x]);
} int main()
{
// freopen("a.in","r",stdin);
freopen("truth.in","r",stdin);
freopen("truth.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=*n;i++) fa[i]=i;
int x,y,k=,bk=;
for(int i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
scanf("%s",s);
if(s[]=='L')
{
fa[findfa(x)]=findfa(n+y);
fa[findfa(n+x)]=findfa(y);
}
else
{
fa[findfa(x)]=findfa(y);
fa[findfa(n+x)]=findfa(n+y);
}
if(findfa(y)==findfa(n+y)) bk=;
if(bk) k++;
}
printf("%d\n",k);
return ;
}
[usaco]2013-jan Liars and Truth Tellers 真假奶牛的更多相关文章
- USACO翻译:USACO 2013 JAN三题(1)
USACO 2013 JAN 一.题目概览 中文题目名称 镜子 栅栏油漆 奶牛排队 英文题目名称 mirrors paint lineup 可执行文件名 mirrors paint lineup 输入 ...
- USACO翻译:USACO 2013 NOV Silver三题
USACO 2013 NOV SILVER 一.题目概览 中文题目名称 未有的奶牛 拥挤的奶牛 弹簧牛 英文题目名称 nocow crowded pogocow 可执行文件名 nocow crowde ...
- USACO翻译:USACO 2013 DEC Silver三题
USACO 2013 DEC SILVER 一.题目概览 中文题目名称 挤奶调度 农场航线 贝西洗牌 英文题目名称 msched vacation shuffle 可执行文件名 msched vaca ...
- USACO翻译:USACO 2012 JAN三题(2)
USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...
- USACO翻译:USACO 2012 JAN三题(1)
USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...
- USACO翻译:USACO 2014 JAN三题(2)
USACO 2014 JAN 一.题目概览 中文题目名称 队伍平衡 滑雪录像 滑雪场建设 英文题目名称 bteams recording skicourse 可执行文件名 bteams recordi ...
- USACO翻译:USACO 2014 JAN三题(1)
USACO 2014 JAN 一.题目概览 中文题目名称 滑雪场设计 滑雪降速 滑雪场评级 英文题目名称 skidesign slowdown skilevel 可执行文件名 skidesign sl ...
- Usaco 2019 Jan Platinum
Usaco 2019 Jan Platinum 要不是昨天老师给我们考了这套题,我都不知道usaco还有铂金这么一级. 插播一则新闻:杨神坚持认为铂金比黄金简单,原因竟是:铜 汞 银 铂 金(金属活动 ...
- [USACO 2018 Jan Gold] Tutorial
Link: USACO 2018 Jan Gold 传送门 A: 对于不同的$k$,发现限制就是小于$k$的边不能走 那么此时的答案就是由大于等于$k$的边形成的图中$v$所在的连通块除去$v$的大小 ...
随机推荐
- OpenID Connect Core 1.0(一)介绍
IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文档 By 道法 ...
- swt TableViewer
http://blog.163.com/bluefield_wild/blog/static/8182709520085612235336/ package list; import java.uti ...
- docker for windows 使用mssql2017
原文:docker for windows 使用mssql2017 确实有些坑,本来之前坑都踩过了,但是时间一久就忘记了,这次换电脑又都踩了一遍. 几个要点(坑): 1.docker安装时默认就好.然 ...
- 【HNOI2014】抄卡组
题面 题解 如果所有的字符串都有通配符,那么只要比较不含通配符的前缀和后缀就可以了. 否则一定有一个串没有通配符.找出这个字符串,然后将所有串与这个串匹配,通配符将\(B\)分成一段一段在\(A\)上 ...
- LeetCode总结
LeetCode总结 所有代码见我的github.不过一般leetcode上答案也一大堆,最好还是自己动动手,收获比较大. 100 知识点:递归,二叉树 难度Easy,主要是注意对当p和q均为null ...
- 总结几种常见web攻击手段及其防御方式
本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...
- How to use the windows active directory to authenticate user via logon form 如何自定义权限系统,使用 active directory验证用户登录
https://www.devexpress.com/Support/Center/Question/Details/Q345615/how-to-use-the-windows-active-dir ...
- VBA_话费明细单_格式调整
VBA-联通话费明细单-格式调整 Sub ChangeColumn() Rows(1).RowHeight = 24 '设置第1行的行高 Rows(1).WrapText = True '设置第1行的 ...
- idou老师教你学Istio:如何用 Istio 实现速率限制
使用 Istio 可以很方便地实现速率限制.本文介绍了速率限制的使用场景,使用 memquota\redisquota adapter 实现速率限制的方法,通过配置 rule 实现有条件的速率限制,以 ...
- Java Comparator接口学习笔记
Comparator是一个泛型函数式接口,T表示待比较对象的类型: @FunctionalInterface public interface Comparator<T> { } 本文将主 ...