bitset<1>,启动!
2025-01-22 17:18:39
发布于:广东
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
bitset<1> vis[10001];
vector<int>graph[10001];
int t,n,id,from,to,cnt;
void dfs(int x){
for(int i=0;i<graph[x].size();++i){
if(vis[graph[x][i]]==0){
vis[graph[x][i]]=1;
if(graph[x][i]!=id)cnt++;
dfs(graph[x][i]);
}
}
}
int main(){
scanf("%d",&t);
for(int k=1;k<=t;++k){
memset(vis,0,sizeof(vis));
scanf("%d%d",&n,&id);
for(int i=1;i<=10000;++i){
graph[i].clear();
}
while(n--){
scanf("%d%d",&to,&from);
graph[from].push_back(to);
}
cnt=0;
dfs(id);
printf("Case #%d: %d\n",k,cnt);
}
return 0;
}
这里空空如也
有帮助,赞一个