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

上海平台网站开发做交通招聘的网站

上海平台网站开发,做交通招聘的网站,有项目找资金的平台,凡科建站多少钱题目描述 小A和小B在一个无向图G上进行一个游戏。图G是连通的#xff0c;有n个点#xff0c;n条边#xff0c;无重边#xff0c;无自环#xff0c;结点编号为1~n。游戏开始前小A在结点x#xff0c;小B在结点y#xff08;x≠y#xff09;。游戏开始后#xff0c;小A和小… 题目描述 小A和小B在一个无向图G上进行一个游戏。图G是连通的有n个点n条边无重边无自环结点编号为1~n。游戏开始前小A在结点x小B在结点yx≠y。游戏开始后小A和小B轮流进行移动小A先移动每次移动可以从当前结点移动到与当前结点相邻的某个结点。小A的目标是抓到小B某一次移动之后小A与小B在同一个结点小B的目标是不被小A抓到。两人都有图G的地图并且知道对方在哪个结点两人都采取最优策略问小A是否能通过有限次移动抓到小B。 输入描述 第1行3个整数n、x、y 第2~n1行每行2个整数u、v代表u与v之间有边相连。 输出描述 若小A能通过有限次移动抓到小B输出1否则输出0。 数据范围 n≤100000 样例输入 10 2 4 1 2 1 3 2 4 1 5 5 6 1 7 5 8 6 9 3 10 8 10 样例输出 1 题解这是一个树并且这个树上存在且存在一个环。 1.当A和B之间距离为1或0的时候直接输出1。 2.否则的话当环的长度小于等于3的时候直接输出1因为B一定会被A捉到。 3.我们进行双连通分量的缩点将环缩成一个点下面我们判断当A、B同属于一个环上的时候直接输出0因为B绕着环跑永远不会被捉到。 4.然后我们从环缩成的点开始进行dfs序遍历得到每一个点到基环的距离如果dis[belong[x]] 1 dis[belong[y]]表明A距离基环更近直接输出1否则输出0. 代码 #include bits/stdc.h using namespace std; const int MAXN 1e510; int head[MAXN]; int cnt; struct edge{ int v; int next; int cost; }Es[MAXN1]; void init(){ cnt 0; memset(head,-1,sizeof(head)); } inline void add_edge(int i,int j,int cost){ Es[cnt].v j; Es[cnt].cost cost; Es[cnt].next head[i]; head[i] cnt; } int n,x,y; int DFN[MAXN],LOW[MAXN]; int stk[MAXN],vis[MAXN],belong[MAXN]; int idx,sccnum,tot; vectorint scc[MAXN]; void tarjan(int x,int fa){DFN[x] LOW[x] tot;stk[idx] x;vis[x] 1;for(int e head[x];e ! -1;e Es[e].next){int v Es[e].v;if(v fa) continue;if(!DFN[v]){tarjan(v,x);LOW[x] min(LOW[x],LOW[v]);}else if(vis[v]){LOW[x] min(LOW[x],DFN[v]);}}if(DFN[x] LOW[x]){sccnum;int item;do{item stk[idx--];belong[item] sccnum;scc[sccnum].push_back(item);vis[item] 0;}while(x ! item);} } int dis[MAXN]; int vis2[MAXN]; void dfs(int x,int dep){dis[x] dep;for(int i 0;i scc[x].size();i){int u scc[x][i];for(int e head[u];e ! -1;e Es[e].next){int v Es[e].v;if(!vis2[belong[v]]){vis2[belong[v]] 1;dfs(belong[v],dep1);}}} } int main(){init();scanf(%d%d%d,n,x,y);if(x y) {puts(1);return 0;}for(int i 0;i n;i){int a,b;scanf(%d%d,a,b);add_edge(a,b,1);add_edge(b,a,1);}for(int e head[x];e ! -1;e Es[e].next){int v Es[e].v;if(v y){puts(1);return 0;}}tarjan(1,0);int start 0;for(int i 1;i sccnum;i){if(scc[i].size() 3){start i;}}if(!start){puts(1);return 0;}if(belong[x] belong[y]){puts(0);return 0;}dfs(start,0);if(dis[belong[x]] 1 dis[belong[y]]){puts(1);}else{puts(0);}return 0; } /* 7 4 1 1 2 2 3 3 4 4 5 5 6 6 7 7 4 */
http://wiki.neutronadmin.com/news/237573/

相关文章:

  • 响应式网站模板分享wordpress免费模板下载
  • 网站背景图片素材wordpress 主机
  • 网站服务器租用开票应该做网站要用到哪些架包
  • 南通网站定制公司wordpress侧边导航栏
  • 网站建设与推广实训小结中英文双语网站站点
  • 西安微官网自助建站公司网页美工设计什么
  • 流行网站开发工具海南省住房和城乡建设厅网站首页
  • 保定网站建设公司哪家好万户网络做网站如何
  • 网站建设是什么岗位去韩国用什么地图导航
  • 网站建设 公司排名网站建设怎么添加视频
  • 如何做网站报价长春网站建设哪家好
  • 海北网站建设wordpress去除标签层级
  • 建网站需要哪些条件哈尔滨企业做网站
  • 相对于网站根目录的的绝对路径域名到期 网站打不开
  • 网站留言发送到qq邮箱自己做网站地址
  • 安徽华夏网站建设下载的字体如何安装到wordpress
  • 怎么查询网站是谁做的自己建设一个网站
  • 怎么做浏览网站的小程序购物网站后台订单处理流程
  • 深圳坪山站网页小游戏推荐知乎
  • 网站推广怎么推广建设网站应该加什么服务
  • 银川网站推广方式内江网站制作
  • php+mysql 网站建设杭州seo工作室
  • 设计网站案例网站被窝家装公司
  • wordpress 会议网站wordpress 留言板制作
  • 企业网站的建立视频免费外链网站
  • gta5购买房产网站正在建设求一外国h网站
  • 进腾讯做游戏视频网站深圳刚刚突然宣布
  • 简单网站建设哪家便宜给点没封的网址好人一生平安
  • 网站运营内容包含哪些怎么下载浏览器里的视频
  • 泉州北京网站建设手机网站 普通网站