当前位置: 首页 > news >正文

小企业公司网站怎么建/谷歌搜索引擎镜像入口

小企业公司网站怎么建,谷歌搜索引擎镜像入口,开发公司如何编写意向书,哪个做网站平台好题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 .在满足…

题目描述

在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:

1 .路径上的所有点的出边所指向的点都直接或间接与终点连通。

2 .在满足条件1 的情况下使路径最短。

注意:图G 中可能存在重边和自环,题目保证终点没有出边。

请你输出符合条件的路径的长度。

输入输出格式

输入格式:

 

输入文件名为road .in。

第一行有两个用一个空格隔开的整数n 和m ,表示图有n 个点和m 条边。

接下来的m 行每行2 个整数x 、y ,之间用一个空格隔开,表示有一条边从点x 指向点y 。

最后一行有两个用一个空格隔开的整数s 、t ,表示起点为s ,终点为t 。

 

输出格式:

 

输出文件名为road .out 。

输出只有一行,包含一个整数,表示满足题目᧿述的最短路径的长度。如果这样的路径不存在,输出- 1 。

 

输入输出样例

输入样例#1:
3 2  
1 2  
2 1  
1 3  
输出样例#1:
-1
输入样例#2:
6 6  
1 2  
1 3  
2 6  
2 5  
4 5  
3 4  
1 5  
输出样例#2:
3

说明

解释1:

如上图所示,箭头表示有向道路,圆点表示城市。起点1 与终点3 不连通,所以满足题

目᧿述的路径不存在,故输出- 1 。

解释2:

如上图所示,满足条件的路径为1 - >3- >4- >5。注意点2 不能在答案路径中,因为点2连了一条边到点6 ,而点6 不与终点5 连通。

对于30%的数据,0<n≤10,0<m≤20;

对于60%的数据,0<n≤100,0<m≤2000;

对于100%的数据,0<n≤10,000,0<m≤200,000,0<x,y,s,t≤n,x≠t。

 

思路:

  存边的时候正反存

  反边来dfs找终点能到的点(能到终点的点)

  然后在把出边的点能到终点的点标记为true

  然后一遍建立在true的点上的spfa

  输出最短路

  轻松ac

 

来,上代码:

#include <queue>
#include <cstdio>#define INF 0x7ffffffusing namespace std;struct node {int from,to,dis,next;
};
struct node edge[200001],edge_[200001];int n,m,head_[10001],head[10001],s,t,num=0,dis[10001];bool if_[10001],can[10001];inline void edge_add(int from,int to,int dis_)
{num++;edge[num].to=to;edge[num].dis=dis_;edge[num].from=from;edge[num].next=head[from];head[from]=num;edge_[num].from=to;edge_[num].to=from;edge_[num].dis=dis_;edge_[num].next=head_[to];head_[to]=num;
}void search(int now)
{if_[now]=true;for(int i=head_[now];i;i=edge_[i].next){if(!if_[edge_[i].to]) search(edge_[i].to);}
}void SPFA()
{if(!can[s]) return;queue<int>que;que.push(s);while(!que.empty()){for(int i=head[que.front()];i;i=edge[i].next){if(can[edge[i].to]){if(edge[i].dis+dis[que.front()]<dis[edge[i].to]){dis[edge[i].to]=edge[i].dis+dis[que.front()];if(!if_[edge[i].to]){if_[edge[i].to]=true;que.push(edge[i].to);}}}}if_[que.front()]=false;que.pop();}
}int main()
{scanf("%d%d",&n,&m);int from,to;for(int i=1;i<=m;i++){scanf("%d%d",&from,&to);edge_add(from,to,1);}scanf("%d%d",&s,&t);search(t);bool if_break;for(int i=1;i<=n;i++){if_break=false;if(!if_[i]) continue;for(int j=head[i];j;j=edge[j].next){if(!if_[edge[j].to]){if_break=true;break;}}if(if_break) continue;can[i]=true;}for(int i=1;i<=n;i++) dis[i]=INF,if_[i]=false;dis[s]=0,if_[s]=true;SPFA();if(dis[t]>=200005) printf("-1\n");else printf("%d\n",dis[t]);return 0;
}

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6219108.html

http://www.jmfq.cn/news/4835899.html

相关文章:

  • 网站商城/页面优化
  • 手机版官方网站的建设/谷歌官方网站
  • 学生个人简历/慈溪seo排名
  • 网站怎么做友链/怎么写网站
  • wordpress网页排版插件/百度seo排名规则
  • 二手域名做网站不收录/seo免费浏览网站
  • 商务型网站模板/国家免费技能培训平台
  • 游戏网站建设方案百度文库/关键词包括哪些内容
  • 专业的移动网站建设/怎么自己注册网站
  • wordpress无法管理站点/北京百度推广seo
  • 摄影创意网站/seo草根博客
  • wordpress关键字/武汉seo推广优化公司
  • 简述b2b b2c c2c o2o的含义/安徽seo报价
  • 百度搜索不到asp做的网站/谷歌浏览器网页版入口手机版
  • 网站建设费用低的公司/建站快车
  • 政府网站建设经验材料/品牌运营管理有限公司
  • 邯郸小学网站建设/宣传推广文案
  • 汕头做网站优化的公司/1小时快速搭建网站
  • 长沙做网站品牌/知名网络营销推广
  • 移动网站 案例/广州seo优化公司排名
  • 网站是先解析还是先备案/下载百度app到手机上
  • 网站建设招聘岗位/百度关键词竞价查询系统
  • 可以做网站的编程有什么/优化大师电脑版官方免费下载
  • 做网站素材/游戏推广工作好做吗
  • 自己做的网站注册用户无法收到激活邮箱的邮件/肇庆网站快速排名优化
  • 浙江高端网站建设/查权重网站
  • 孝感 网站建设/企业推广是什么职业
  • 温州市住房和城乡建设厅网站首页/整合营销传播策划方案
  • 利用vps做网站/百度知道在线问答
  • 自己做微信优惠券需要网站/网络营销成功案例ppt