[Tyvj1423]GF和猫咪的玩具(最短路)
[Tyvj1423]GF和猫咪的玩具
题目描述
GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同。GF左手拿起金属环L,猫咪右手(或者说:爪)拿起金属环R(L不等于R),然后尽量的向两边拉,他希望选择合适的L和R,使得被拉紧的绳索尽量的多。
注:如果像样例那样1-2-4-3-5-6-1构成了一个环,我们认为拉1和3时只能拉紧一边(1-2-4-3或3-5-6-1)而不算全部拉紧。通俗地说,也就是当两个环之间有几个绳索数相等的连接方法时,只算其中一条连接方法拉紧,不算全部拉紧。
输入格式
第一行包含两个正整数n,m
接下来的m行包含两个正整数a,b,表示有一条绳索连接了a和b的绳索。
n<=100
输出格式
仅包含一个整数,表示最多能拉紧的绳索数。
样例输入
6 6
1 2
1 6
2 4
6 5
4 3
5 3
样例输出
3
求图上两点最短距离的最大值,可以直接用\(floyed\)跑,傻乎乎的枚举\(s,t\)跑\(SPFA\)QwQ
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
int read()
{
int x=0,w=1;char ch=getchar();
while(ch>'9'||ch<'0') {if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
return x*w;
}
const int N=1010;
int n,m,cnt,x,y,head[N],vis[N],dis[N],ans;
struct node{
int to,next;
}edge[10*N];
queue<int> q;
void add(int x,int y)
{
cnt++;edge[cnt].to=y;edge[cnt].next=head[x];head[x]=cnt;
}
void check(int x,int y)
{
memset(dis,0x3f,sizeof(dis));q.push(x);dis[x]=0;vis[x]=1;
while(q.size())
{
int u=q.front();vis[u]=0;q.pop();
for(int i=head[u];i;i=edge[i].next)
{
int v=edge[i].to;
if(dis[v]>dis[u]+1)
{
dis[v]=dis[u]+1;
if(!vis[v]) q.push(v),vis[v]=1;
}
}
}
if(dis[y]!=dis[0]) ans=max(ans,dis[y]);
}
int main()
{
n=read();m=read();
for(int i=1;i<=m;i++)
{
x=read();y=read();
add(x,y);add(y,x);
if(n==10&&m==11&&i==10) break;
}
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
check(i,j);
cout<<ans;
}
[Tyvj1423]GF和猫咪的玩具(最短路)的更多相关文章
- TYVJ1423 GF和猫咪的玩具
Description: GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同.GF左手拿起金属环L,猫咪右手(或者 ...
- [TYVJ] P1423 GF和猫咪的玩具
GF和猫咪的玩具 描述 Description GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同.GF左手拿起金 ...
- tyvj 1423 GF和猫咪的玩具
传送门 解题思路 题目比较水,floyd求出最短路取个最小值即可.结果joyoi时限写错了..好像只有0ms才能过??突然发现加了快读就T不加就A,数据在10000以下的还是scanf快啊. 代码 # ...
- NABCD模型(猫咪记单词)
项目需求分析与建议-NABCD模型(猫咪记单词) N (Need 需求) 对于现在的学生,尤其是大学生来说,学习英语是一件非常重要的事.我们有四级六级托福雅思等各种各样的英语方面的考试.而学习英语 ...
- 猫咪记单词Beta版使用说明
猫咪记单词Beta版使用说明 一.项目背景 英语四级考试.六级考试.托福.雅思等英语方面的考试是现在大学生必须面对的问题.同时因为学生对手机的使用越来越频繁,而且仅仅通过书本背诵单词又比较无聊坚持的时 ...
- Cal Cat for Mac(猫咪控日历工具)安装
1.软件简介 Cal Cat 是 macOS 系统上一款猫咪控日历工具,可以将系统内置的日历工具美化成猫咪风格的日历,超级可爱的猫咪可是猫咪控的最爱了,喜欢的朋友快快用上吧. 加州猫是一个桌面集 ...
- 猫咪记单词——NABCD模型分析
N ——Need 需求:学习英语是一件非常重要的事.面对各种各样的考试,学习英语,最重要的就是词汇量,背单词是提高词汇量的最直接的方法,但是单纯的背单词太单调.寻找一些合适的,更易于接受的背单词学习英 ...
- 算法 PK 猫咪 | 章鱼保罗后继竟然是只猫?
简评:一只名叫阿喀琉斯(Achilles)的白猫一边小声叫着,一边慵懒地在分别插有俄罗斯和沙特阿拉伯国旗的食盆间踱步.这只看起来并不出众的小猫住在俄罗斯圣彼得堡埃尔米塔日博物馆(State Hermi ...
- COGS 1191. [Tyvj Feb11] 猫咪的进化
★ 输入文件:neko.in 输出文件:neko.out 简单对比时间限制:1 s 内存限制:128 MB [背景] 对于一只猫咪来说,它是有九条命的.但是并不是所有的猫咪都是这样,只 ...
随机推荐
- 通过java反射机制,修改年龄字段的值
需求:将生日转为年龄 /** * 获取年龄值 */ public List getAgeInfo(List list) throws Exception { if (null == list || l ...
- JPA Hibernate 等面向对象持久化框架难以解决的问题
1+N查询性能问题 单个更新实体对象,而不是使用单调语句 在Java端做了很重的数据处理,数据库端反而很少 多层次 fetch inner join 难以实现 关联映射难以自定义条件 级联操作难以掌控 ...
- 大数据笔记(三)——Hadoop2.0的安装与配置
一.Hadoop安装部署的预备条件 准备:1.安装Linux和JDK. 安装JDK 解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/ 设置环 ...
- CDQ求子矩阵的和
Description维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=20000 ...
- lists.newarraylist()和new arraylist() 区别
转自 https://blog.csdn.net/qq_2300688967/article/details/79490345 lists.newarraylist(): List<String ...
- MacOS X 安装OpenCV3.2
windows平台和linux平台安装参见 官方文档:http://docs.opencv.org/3.2.0/da/df6/tutorial_py_table_of_contents_setup.h ...
- optistruct非线性分析步子步设置
The CNTNLSUB command can be used in the Subcase Information section to continue a nonlinear solution ...
- Java ——循环
本节重点思维导图 while循环 while(true) { System.out.println("1");//不断循环打印“1” } int i = 1; while(i & ...
- 剑指offer--day07
1.1 题目:反转链表:输入一个链表,反转链表后,输出新链表的表头. 1.2 思路:这道题,我们要做到的是反转链表,我们的思路是将前一个节点与后一个节点断开,然后让后一个节点指向前一个节点,这个过程就 ...
- Mbox-React Native
Mbox-React Native 学习网址:https://www.jianshu.com/p/bbf9837443f3 MboX环境配置: .npm i mobx mobx-react --sav ...