#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
int n,m,i,j,k,x,y,g[100+5][100+5];
while(~scanf("%d%d",&n,&m))
{
for(i=0; i<n; i++)
for(j=0; j<n; j++)
g[i][j]=99;
for(i=0; i<m; i++)
{
scanf("%d%d",&x,&y);
g[x][y]=g[y][x]=1;
}
for(k=0; k<n; k++)
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
if(g[i][k]+g[k][j]<g[i][j]) g[i][j]=g[i][k]+g[k][j];
}
int f=1;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if(g[i][j]>7)
{
f=0;
break;
}
if(f) printf("Yes\n");
else printf("No\n");
}
return 0;
}
hdu 1869 六度分离
最新推荐文章于 2020-05-19 10:59:21 发布