首页 > 代码库 > NBUT 1218 You are my brother
NBUT 1218 You are my brother
$dfs$。
记录一下每一个节点的深度就可以了。
#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<vector>using namespace std;int n;int dep[3000],in[3000];vector<int>g[3000];void dfs(int x,int y){ dep[x]=y; for(int i=0;i<g[x].size();i++) dfs(g[x][i],y+1);}int main(){ while(~scanf("%d",&n)) { for(int i=0;i<=2000;i++) g[i].clear(); memset(in,0,sizeof in); for(int i=1;i<=n;i++) { int A,B; scanf("%d%d",&A,&B); g[B].push_back(A); in[A]++; } for(int i=1;i<=2000;i++) { if(in[i]==0) { dfs(i,1); } } if(dep[1]==dep[2]) printf("You are my brother\n"); else if(dep[1]>dep[2]) printf("You are my elder\n"); else printf("You are my younger\n"); } return 0;}
NBUT 1218 You are my brother
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。