【noip2014】tyvj4058 寻找道路
来源:互联网 发布:耐药监测数据处理软件 编辑:程序博客网 时间:2024/04/30 16:53
以后见到我了,请叫我智障。不用客气。
说实话,真心感觉这题 挺简单的,然而 正确率啊 我的妈
一开始 其实 我以为 这题 是 考图的 联通 性的。然后发现自己 想错了。
没啥嘛,就是 从终点 bfs一遍 统计 能到达的点,再重新建边,正的bfs一遍,只要有点的出边的点没有被访问过就不对啊。
所以难点? 时间》觉得noip没有丧心病狂到卡stl?
然而 这是结果:
还混个啥子noip吗!第二题只有30分!!!
总结错误吧。。。
第一个tle没有考虑到会进环。。加个dis数组赋成-1就好了。。。
第二个wa,,数组开小了,按边的数量的数组存成点的数量了
好在第三遍ac了。。
#include<cstdio>#include<algorithm>#include<cstring>#include<queue>//by mars_chusing namespace std;int n,m,tot;int s,en;int u[200005],v[200005];int dis[10005];struct data{ int f,t,nxt;}e[200005];int first[10005];int vis[10005];void add(int a,int b){ e[++tot].f=a; e[tot].t=b; e[tot].nxt=first[a]; first[a]=tot;}void bfs(int a){ queue<int> q; q.push(a); vis[a]=1; while(!q.empty()) { int t=q.front(); q.pop(); for(int i=first[t];i!=-1;i=e[i].nxt) { if(!vis[e[i].t]) { vis[e[i].t]=1; q.push(e[i].t); } } }}bool check(int x){ for(int i=first[x];i!=-1;i=e[i].nxt) { if(!vis[e[i].t]) return false; } return true;}bool bfs2(int x){ queue<int> q; q.push(x); dis[x]=0; while(!q.empty()) { int t=q.front(); q.pop(); if(!check(t)) continue; for(int i=first[t];i!=-1;i=e[i].nxt) { if(dis[e[i].t]!=-1) continue; q.push(e[i].t); dis[e[i].t]=dis[t]+1; if(e[i].t == en) { return true; } } } return false;}int main(){ memset(first,-1,sizeof(first)); scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) { scanf("%d%d",&u[i],&v[i]); add(v[i],u[i]); } scanf("%d%d",&s,&en); bfs(en); tot=0; memset(dis,-1,sizeof(dis)); memset(first,-1,sizeof(first)); for(int i=1;i<=m;i++) { add(u[i],v[i]); } if(!vis[s]) { printf("-1\n"); return 0; } if(!bfs2(s)) printf("-1\n"); else printf("%d\n",dis[en]); return 0;}
0 0
- 【noip2014】tyvj4058 寻找道路
- Noip2014寻找道路题解
- NOIP2014 寻找道路
- [NOIP2014]寻找道路
- NOIP2014寻找道路
- vijos1909【noip2014】寻找道路
- 【noip2014】寻找道路
- NOIP2014 寻找道路
- noip2014寻找道路
- 【NOIP2014】D2T2 寻找道路
- noip2014寻找道路
- noip2014 寻找道路
- [NOIP2014]寻找道路
- noip2014寻找道路
- [NOIP2014]寻找道路
- [NOIP2014][建图]寻找道路
- [noip2014]寻找道路 题解
- 【noip2014】寻找道路
- UI设计的狂暴之路(PS篇)---设计知识学习路线概要以及PS在日常生活中的关键作用
- 常用的jquery方法,学会你也变大神
- 在unity环境下用ngui实现转盘
- 源码-Spark中Worker源码分析(一)
- 网页采集+pdo入库
- 【noip2014】tyvj4058 寻找道路
- 分布式爬虫
- windows7 ISO文件如何直接安装
- android DataBindingUtil 数据绑定框架
- YUV数据分析
- RxJava初步探路(基础篇)
- 学习笔记--实践认识保护模式
- 汇编--INT 10H功能
- MyBatis 常用写法