Atcoder Grand Contest 039B(思维,BFS)
Posted ldudxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atcoder Grand Contest 039B(思维,BFS)相关的知识,希望对你有一定的参考价值。
#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int col[207],s[207],n;
char ss[207][207];
int bfs(int x)
int l=0,r=0;
for(int i=1;i<=n;i++)
col[i]=0;
s[++r]=x;
col[x]=1;
while(l<r)
x=s[++l];
for(int i=1;i<=n;i++)
if(ss[x][i]-‘0‘)
if(col[i]==0)
col[i]=col[x]+1;
s[++r]=i;
else if(abs(col[i]-col[x])!=1)
return -1;
return col[s[r]];
int main()
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int ans=-1;
cin>>n;
for(int i=1;i<=n;++i)
cin>>ss[i]+1;
for(int i=1;i<=n;++i)//枚举起点
ans=max(ans,bfs(i));//找长度最长的最短路
printf("%d",ans);
以上是关于Atcoder Grand Contest 039B(思维,BFS)的主要内容,如果未能解决你的问题,请参考以下文章
Atcoder Grand Contest 039B(思维,BFS)
Atcoder Grand Contest 039C(容斥原理,计数DP)