【郑轻邀请赛 D】hipercijevi
【题目链接】:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2130
【题意】
【题解】
把那个管泛化成一个点;
然后把每一个在管里面的点都和它相连;
然后从起点跑bfs就好;
最后输出dis[n]/2 +1
因为是点的数目所以要加1
然后每个点都要经过一个泛化的点再到其他点;
所以肯定边的数目是偶数个;
用了ios::sync_with_stdio(0)之后Puts不能用….
【Number Of WA】
4
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define rep1(i,x,y) for (int i = x;i <= y;i++)
#define pb push_back
#define LL long long
struct abc
{
int en,nex;
};
const int N = 1e5+1e3+100;
int n,k,m,dis[N],tot,fir[N],head,tail;
int dl[N];
abc bian[1000000*2+100];
void add(int x,int y)
{
tot++;
bian[tot].nex=fir[x];
fir[x] = tot;
bian[tot].en = y;
}
int main()
{
//freopen("D:\\rush.txt","r",stdin);
ios::sync_with_stdio(0);
int T;
cin >> T;
while (T--)
{
cin >> n >> k >> m;
tot = 0;
rep1(i,1,n+m)
fir[i] = 0;
rep1(i,1,m)
{
rep1(j,1,k)
{
int x;
cin >> x;
add(x,n+i);
add(n+i,x);
}
}
rep1(i,1,n+m)
dis[i]=-1;
dis[1]=0;
head = 0,tail = 1;
dl[1] = 1;
while (head<tail)
{
int x = dl[++head];
for (int i = fir[x];i;i=bian[i].nex)
{
int y = bian[i].en;
if (dis[y]==-1)
{
dis[y] = dis[x]+1;
dl[++tail]=y;
}
}
}
if (dis[n]==-1)
cout << -1 << endl;
else
cout << dis[n]/2 + 1<<endl;
}
return 0;
}
【郑轻邀请赛 D】hipercijevi的更多相关文章
- 【郑轻邀请赛 E】Can Win
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2131 [题意] [题解] 尽量让自己喜欢的队赢; A内组内的比赛都让自己喜欢的队赢; ...
- 【郑轻邀请赛 H】 维克兹的进制转换
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134 [题意] [题解] 设f[i]表示数字i分解为二进制数的方案数; 则 如果i为 ...
- 【郑轻邀请赛 A】tmk射气球
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2127 [题意] [题解] 把气球和飞艇所代表的直线投影到xoy面上 设气球所在位置为 ...
- 【郑轻邀请赛 B】base64解密
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2128 [题意] [题解] 把密文; 在表中找到每个字符对应的数字; 然后转换成相应的 ...
- 【郑轻邀请赛 I】这里是天堂!
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2135 [题意] [题解] 答案应该为C(n,a)∗C(m,b)/C(n+m,a+b) ...
- 【郑轻邀请赛 F】 Tmk吃汤饭
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2132 [题意] [题解] 很容易想到用队列来模拟; 这个队列维护的是正在煮的4个人煮 ...
- 【郑轻邀请赛 C】DOBRI
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2129 [题意] [题解] NMB 直接说i-1,i-2,i-3不就好了- [Numb ...
- 【郑轻邀请赛 G】密室逃脱
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133 [题意] [题解] 考虑每一个二进制数的最高位->第i位; 肯定是1(这 ...
- 郑轻校赛题目 问题 G: 多少个0
问题 G: 多少个0 时间限制: 1 Sec 内存限制: 128 MB提交: 192 解决: 40 题目描述 一个n*n的方格,每个格子中间有一个数字是2或者5,现在从方格的左上角走到右下角,每次 ...
随机推荐
- case when进行数据统计
SELECT SUM(CASE WHEN `status` = '1' THEN 1 ELSE 0 END) AS waitpay, SUM(CASE WHEN `group_done` = '1' ...
- 转 linux/unix学习经典书籍
都是一些链接. 1. Linux网络编程经典书籍推荐 http://blog.csdn.net/zhangpeng_linux/article/details/7001970 2. C语言经典著作导读 ...
- 【模板】 倍增lca
虽然很基础,但是还是复习了一下,毕竟比树剖好写... 代码: #include<iostream> #include<cstdio> #include<cmath> ...
- Makefile 实际用例分析(二) ------- 比较通用的一种架构
之前已经讲了这一篇文章:Makefile实际用例分析(一)-----比较通用的一种架构 现在这篇其实和那个差的不是很多,只是在布局上有些差别(这个makefile也是论坛上一起讨论过的,囧,忘了哪个论 ...
- 在Struts2中ognl.MethodFailedExceptiond异常的解决办法
问题描述: 在 Struts2 里面,当页面向服务器提交参数时报ognl.MethodFailedException:和java.lang.NoSuchMethodException:异常 异常信息 ...
- bzoj2427:[HAOI2010]软件安装(Tarjan+tree_dp)
2427: [HAOI2010]软件安装 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1053 Solved: 424[Submit][Statu ...
- MyBatis Generator实现MySQL分页插件
MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...
- Kafka详解与总结(一)
1. Kafka概述 1.1. 消息队列 1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推 ...
- Boost.Build特点(译)
Boost.Build Boost.Build makes it easy to build C++ projects, everywhere. Boost.Build让构建C++项目在任何地方都很容 ...
- No operations allowed after connection closed--转
https://www.jianshu.com/p/1626d41572f2 Spring boot的单数据源配置比较简单,只需要在application.properties配置相关的jdbc连接的 ...