1013 Battle Over Cities
阿新 • • 發佈:2018-09-03
battle alc include div turn sin cto const mem
題意:
思路:計算連通塊。
代碼:
#include <cstdio> #include <cstring> #include <vector> using namespace std; const int maxn=1005; bool vis[maxn]; vector<int> graph[maxn]; int n,m,k; void dfs(int v) { vis[v]=true; for(auto u:graph[v]) if(!vis[u]) dfs(u); } int func(int v) {//cut memset(vis,false,sizeof(vis)); vis[v]=true; //calculate the number of connected block int cnt=0; for(int i=1;i<=n;i++){ if(!vis[i]){ dfs(i); cnt++; } } return cnt-1; } int main() { scanf("%d%d%d",&n,&m,&k);int u,v; for(int i=0;i<m;i++){ scanf("%d%d",&u,&v); graph[u].push_back(v); graph[v].push_back(u); } int query; while(k--){ scanf("%d",&query); printf("%d\n",func(query)); } return 0; }
1013 Battle Over Cities