AC

せいしゅん404 · 发布于 2020-08-19 · 浏览 637 回复 0

#include<cstdio> 
#include<iostream> 
#include<cstring> 
using namespace std; 
//count是用来标记是否所有的数都提前找完了。 
int n,tmp,count=0,a[105][105],q[105],h[105]={0}; 
int main(void){ 
cin>>n; 
for(int i=1;i<=n;i++) 
 for(int j=1;j<=n;j++) 
  cin>>a[i][j]; 

cout<<1; 
count++; 
q[1]=1; 
h[1]=1; 
for(int f=1,r=1;f<=r;f++){ 
 tmp=q[f]; 
 for(int i=1;i<=n;i++){ 
  if(a[tmp][i]&&!h[i]){ 
   cout<<"-"<<i; 
   q[++r]=i; 
   h[i]=1; 
   count++; 
   //如果n个数都入队了,就结束 
   if(count==n) 
    return 0; 
  } 
 } 
} 
return 0; 
}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复