团体程序设计天梯赛-练习集-L2-013. 红色警报(dfs)
2017-03-16 18:30
288 查看
/*
dfs 简单深搜,没想出来*/
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn=510;int vis[maxn],flag[maxn],map1[maxn][maxn];int n,m,k,area;void dfs(int x){vis[x]=1;for(int i=0;i<n;i++){if(!vis[i]&&!flag[i]&& map1[x][i])dfs(i);}}int main(){cin>>n>>m;for(int i=0;i<m;i++){int a,b;cin>>a>>b;map1[a][b]=1;map1[b][a]=1;}area=0;memset(vis,0,sizeof(vis));for(int i=0;i<n;i++){if(!vis[i])area++,dfs(i);}int last=area;cin>>k;while(k--){int x;cin>>x;flag[x]=1;area=0;memset(vis,0,sizeof(vis));for(int i=0;i<n;i++)map1[x][i]=map1[i][x]=0;for(int i=0;i<n;i++)if(!vis[i]&&!flag[i])area++,dfs(i);if(area>last)printf("Red Alert: City %d is lost!\n",x);else printf("City %d is lost.\n",x);last=area;}for(int i=0;i<n;i++)if(!flag[i])return 0;puts("Game Over.");return 0;}
相关文章推荐
- 团体程序设计天梯赛-练习集-L2-013. 红色警报(dfs)
- 团体程序设计天梯赛-练习集 L2-013. 红色警报 解题报告
- 团体程序设计天梯赛-练习集-L2-016. 愿天下有情人都是失散多年的兄妹(dfs)
- L2-013. 红色警报-PAT团体程序设计天梯赛GPLT(图的连通分量个数统计)
- 团体程序设计天梯赛L2-013 红色警报
- 团体程序设计天梯赛L2-013 红色警报
- 团体程序设计天梯赛-练习集 L2-008. 最长对称子串 解题报告
- 团体程序设计天梯赛-练习集 L3-001. 凑零钱 强行dfs+剪枝 解题报告
- 团体程序设计天梯赛-练习集L2-005. 集合相似度
- 团体程序设计天梯赛-练习集L2-004. 这是二叉搜索树吗
- 团体程序设计天梯赛-练习集-L2-014. 列车调度(LIS)
- 团体程序设计天梯赛-练习集 L2-009. 抢红包 解题报告
- 团体程序设计天梯赛-练习集 -- L2-012. 关于堆的判断(最小堆)
- 团体程序设计天梯赛-练习集L2-011 玩转二叉树(构造二叉树+BFS)
- 团体程序设计天梯赛-练习集 L2-004. 这是二叉搜索树吗?GU
- 团体程序设计天梯赛-练习集L1-013. 计算阶乘和
- 团体程序设计天梯赛-练习集L2-005. 集合相似度
- 团体程序设计天梯赛-练习集 -- L2-014. 列车调度(线段树)
- 团体程序设计天梯赛-练习集 L2-002. 链表去重
- 团体程序设计天梯赛-练习集 L2-010. 排座位 解题报告