pku3256CowPicnic
2010-08-24 13:41
141 查看
题目链接: pku3256
思路:找出每头牛能够走的地方,最后看是否走过的牛的数目等于牛的数目的有几个地方。
代码:dfs
思路:找出每头牛能够走的地方,最后看是否走过的牛的数目等于牛的数目的有几个地方。
代码:dfs
]// 1 ≤ K ≤ 100 1 ≤ N ≤ 1,000 1 ≤ M ≤ 10,000 #include <iostream> using namespace std; int k,n,m; bool map[1005][1005],visited[105][1005]; int loc[105]; void dfs(int t,int s) { visited[t][s]=1; for(int i=1;i<=n;i++) if(visited[t][i]==0&&map[s][i]) { dfs(t,i); } } int main(int argc, char *argv[]) { while(scanf("%d%d%d",&k,&n,&m)!=EOF) { int i,j,x,y; for(i=1;i<=k;i++)scanf("%d",&loc[i]); memset(map,0,sizeof(map)); memset(visited,0,sizeof(visited)); for(i=1;i<=m;i++) { scanf("%d%d",&x,&y);map[x][y]=1; } for(i=1;i<=k;i++) { dfs(i,loc[i]); } int num=0; for(i=1;i<=n;i++) { for(j=1;j<=k;j++) if(visited[j][i]==0)break; if(j>k)num++; } printf("%d/n",num); } return 0; }
相关文章推荐
- pku2762(Going from u to v or from v to u?)
- pku2987 最小割,最大权闭合图
- pku 3751 时间日期格式转换 解题报告
- pku2594 最小路径覆盖
- pku 2446(二分匹配)
- pku1195 二维树状数组
- Biorhythms 1006 PKU
- pku 1001
- PKU ACM 1163-The Triangle
- pku1721 CARDS(置换群的幂运算) ???
- pku2689(筛选素数法)
- pku1284(求原根,欧拉函数)
- pku3159 差分约束系统(SPFA + 栈)
- pku 1703 Find them, Catch them
- PKU1611-2485-1861使用并查集实现Kruskar算法求最小生成树。
- PKU 3211 JAVA 实现 背包问题 一直Runtime Error 无解 留下问题 以后再看
- pku 1005 I Think I Need a Houseboat
- pku 1152 An Easy Problem!
- pku1113凸包问题还有几个小问题
- pku 1477 Box of Bricks