zzulioj 1831: 周末出游 (vector&&dfs)
2015-12-14 18:37
441 查看
1831: 周末出游
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 29 Solved: 9
SubmitStatusWeb
Board
Description
周末天气真好,大家组织一起出去玩(玩你妹,不好好学习),可是,有些人要知道(有好朋友了不起呀)自己最要好的朋友接受邀请了,他才会去,只有邀请到他们最好的朋友才会去(贱人就是矫情)。可是作为负责人的你(冤大头)必须判断是否能够办好这次聚会(气死爸爸拉,哼),邀请到所有的人。Input
每组第一行输入n,表示有n个人。然后第二行输入n个数a1,a2,a3.....(0<ai<=n)表示第i个人的希望自己的那位好朋友要去。如果ai=i表示这位同学一定会去(注孤)。(0<n<1000)Output
如果能邀请到所有输出yes,反之no。Sample Input
41 2 3 3
Sample Output
yes#include<stdio.h> #include<string.h> #include<algorithm> #include<vector> #define N 1010 using namespace std; int vis ; vector<int>q ; int cnt; int dfs(int n) { for(int i=0;i<q .size();i++) { cnt++; dfs(q [i]); } } int main() { int n,i,j,x; while(scanf("%d",&n)!=EOF) { memset(vis,0,sizeof(vis)); for(i=0;i<=n;i++) q[i].clear(); for(i=1;i<=n;i++) { scanf("%d",&x); if(x==i) vis[i]=1; else q[x].push_back(i); } cnt=0; for(i=1;i<=n;i++) { if(vis[i]) { cnt++; dfs(i); } } if(cnt==n) printf("yes\n"); else printf("no\n"); } return 0; }
//用邻接表解
#include<stdio.h> #include<string.h> #include<algorithm> #define N 1010 using namespace std; struct zz { int from; int to; int step; int next; }edge[N<<1]; int head ,top; int vis ; int cnt; void add(int u,int v) { edge[top].from=u; edge[top].to=v; edge[top].next=head[u]; head[u]=top++; } void dfs(int n) { int i,j,k; if(head ==-1) return ; for(i=head ;i!=-1;i=edge[i].next) { cnt++; k=edge[i].to; dfs(k); } } int main() { int n,i,j; int x; while(scanf("%d",&n)!=EOF) { memset(vis,0,sizeof(vis)); memset(head,-1,sizeof(head)); top=0; for(i=1;i<=n;i++) { scanf("%d",&x); if(x==i) vis[i]=1; else add(x,i); } cnt=0; for(i=1;i<=n;i++) { if(vis[i]) { cnt++; dfs(i); } } if(cnt==n) printf("yes\n"); else printf("no\n"); } return 0; }
相关文章推荐
- 远程管理数据库phpMyAdmin部署方案
- Uboot 2014.07 makefile分析
- 解决ListView中滑动复用时控件的混乱问题
- 关于WPS页面横向问题
- iOS navigation UIBarButtonItem 风格
- hive使用rank实现topN的查询
- 学习日记--PopupWindow简单功能实现
- 机器学习之回归
- JS之理解组合继承模式和寄生式组合继承的区别
- Android学习之高德地图 一(定位)
- gulp配置browserify多入口
- PHPCMS V9 按浏览次数排行调用文章
- 神经网络编程入门
- Spring Bean在BeanFactory生命周期
- treegrid-3.0特性详解
- Crazy Android Note Chapter-7
- unix/linux文件系统基础知识
- Python+Hadoop Streaming实现MapReduce(如何给map和reduce的脚本传递参数)
- 杭电3085 Nightmare Ⅱ(双向bfs)(曼哈顿距离)
- 从一个action跳转到另一个action