ZJNU 2133 - 认亲大会
将辈分差距转为数字
例如 A 是 B son
A=B-1
A 是 B grandfather
A=B+2
然后编号1数字设置为0,建图bfs
最后搜索编号2到100是否存在>0的数即可
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
vector<P> v[];
queue<int> q;
int dis[];
bool vis[];
int main(){
memset(dis,0x3f,sizeof dis);
int N,i,now,cnt,a,b;
char s[];
scanf("%d",&N);
while(N--){
scanf("%d is %d's %s",&a,&b,s);
if(strcmp(s,"father.")==){
v[a].push_back(P(b,-));
v[b].push_back(P(a,));
}
else if(strcmp(s,"son.")==){
v[a].push_back(P(b,));
v[b].push_back(P(a,-));
}
else if(strcmp(s,"brother.")==){
v[a].push_back(P(b,));
v[b].push_back(P(a,));
}
else if(strcmp(s,"grandson.")==){
v[a].push_back(P(b,));
v[b].push_back(P(a,-));
}
else if(strcmp(s,"grandfather.")==){
v[a].push_back(P(b,-));
v[b].push_back(P(a,));
}
}
vis[]=true;
dis[]=;
q.push();
while(!q.empty()){
now=q.front();
q.pop();
cnt=v[now].size();
for(i=;i<cnt;i++)
if(!vis[v[now][i].first]){
vis[v[now][i].first]=true;
dis[v[now][i].first]=dis[now]+v[now][i].second;
q.push(v[now][i].first);
}
}
bool flag=true;
for(i=;i<=;i++)
if(dis[i]!=0x3f3f3f3f&&dis[i]>){
flag=false;
break;
}
puts(flag?"2333333...":"ku jiu ru hou xin zuo tong."); return ;
}
ZJNU 2133 - 认亲大会的更多相关文章
- [LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会
[LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会 题意 给定一个长度为 \(n\) 的字符串 \(s\), 对于所有 \(r\in[1,n]\) 求出 \(s\ ...
- 【loj#2133 && luoguP2178】[NOI2015]品酒大会
题目传送门:loj#2133 luoguP2178 简要题意:给定一个字符串\(s\),每个后缀都有权值,对于每个长度\(len\),求出所有最长公共前缀\(\geq len\)的后缀对的总数 ...
- 【LOJ】#2133. 「NOI2015」品酒大会
题解 想出了一个神奇的技巧 我们先把串反过来(因为我们需要起始位置的值而不是终止位置的值),每个点维护一下 fail树上子树里的点,作为正数绝对值最大的两个数,作为负数绝对值最大的两个数 我们发现这个 ...
- Connect() 2016 大会的主题 ---微软大法好
文章首发于微信公众号"dotnet跨平台",欢迎关注,可以扫页面左面的二维码. 今年 Connect 大会的主题是 Big possibilities. Bold technolo ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 3 Keynote: Scott Hanselman
美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.9 是第三天, Scott Hanselman 做Keynote.今天主题围绕的是.NET ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 2 Keynote: Miguel de Icaza
美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.8 是第二天, Miguel de Icaza 做Keynote,Miguel 在波士顿Xa ...
- “.Net 社区虚拟大会”(dotnetConf) 2016 Day 1 Keynote: Scott Hunter
“.Net 社区虚拟大会”(dotnetConf) 2016 今天凌晨在Channel9 上召开,在Scott Hunter的30分钟的 Keynote上没有特别的亮点,所讲内容都是 微软“.Net社 ...
- BZOJ 4199: [Noi2015]品酒大会 [后缀数组 带权并查集]
4199: [Noi2015]品酒大会 UOJ:http://uoj.ac/problem/131 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 ...
- 微软.Net 社区虚拟大会 -- 首日重点(dotnetConf 2016)
6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开. 在 Scott Hunter, Miguel de Icaza (Xamarin CTO) , ScottHan ...
随机推荐
- Essay写作如何提升自己的辩驳水平?
辩证思维在英文写作上的表现方式有许多种,今天来讲讲Counterargument&Rebut,广泛用于英文写作和口语辩论.其作用就是通过辩驳和你论点相反的意见,来突出自己的论点更正确. 话说衡 ...
- ES6 新特性(笔记)
1.定义变量 let a).块作用域 , 不同于var的函数作用域 b).不可以重复定义同一个变量名 注: {} ...
- 数据库的交互模式 常用的dos命令 (第一天)
浏览器和服务器和数据库的交互模式 windows nt(windows系统)的分类:服务操作系统有(server03 server08(R2) 12 16) 个人操作系统有(xp win7 win8 ...
- Ubantu学习笔记2
又是新的一天,继续学习Ubantu命令 cat 可以查看文件内容 cat -n p.py 可以在查看文件内容的同时显示行号 cat -s p.py 可以将多行空白的地方进行合并成一行(输入空格的地方不 ...
- 8 —— node —— 响应一切 html 需要的静态资源
fs.readFile('.'+urls, function (err, data) { res.end(data) });
- LeetCode简单题汇总
1.两个数之和 给出一个整数数组,请在数组中找出两个加起来等于目标值的数, 你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index ...
- java课程之团队开发冲刺阶段2.6
总结昨天进度: 1.总体的思路已经完成,代码也差不多了,只剩下对闹钟activity的设置 遇到的困难: 1.在设置震动的时候,对方法有点不太理解,所以使用的时候产生了错误,没有达到预期的效果 今天的 ...
- rdlc报表带参数打印
1.新建rdlc文件报表 2.选中rdlc文件=>视图=>报表资料 添加几个参数,如图 设计报表页面 int WaitNum = this.queueDTOs.Where(m=>m. ...
- centos 通过命令查找已安装的部署包名称
场景: 服务器上已经安装了sz命令,但是我们想知道他是哪个包安装的. 步骤一: [root@localhost home]# whereis sz sz: /usr/bin/sz /usr/share ...
- Android自定义View——QQ音乐中圆形旋转碟子
1.在onMeasure中测量整个View的宽和高后,设置宽高 2.获取我们res的图片资源后,在ondraw方法中进行绘制圆形图片 3.通过Handler发送Runnable在主线程中更新UI,达到 ...