本文主要是介绍G - Bear and Friendship Condition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:朋友的朋友必须也是朋友才行。
解题思路: 若 i号与 j号 是朋友
i号的朋友数必须和j的朋友数必须相同
i的朋友编号和加上自己的编号 等于 j的朋友的编号和加上自己的编号
//是朋友连线数量必须相同
#include<stdio.h>
#include<string.h>
int sta[150005];
int z[150005];
struct node
{int f;int t;} V[150005];
int main ()
{int n, m, i, j;scanf("%d %d", &n, &m);for(i = 1;i <= n;i++){z[i] = i;}for(i = 0; i < m; i++){scanf("%d %d", &V[i].f, &V[i].t);sta[V[i].f]++;sta[V[i].t]++;z[V[i].f]+=V[i].t;z[V[i].t]+=V[i].f;}int flag = 1;for(j = 0; j < m&&flag; j++){if(sta[V[j].f] == sta[V[j].t]&&z[V[j].f]== z[V[j].t])continue;else flag = 0;}if(flag == 1)printf("YES");else printf("NO");return 0;
}
这篇关于G - Bear and Friendship Condition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!