#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=4000;
int a[N][N];
int col[N];
signed main(){
	int n;
	cin>>n>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)cin>>a[i][j];
	}
	col[1]=1;
	vector<int>vc={1};
	int p=1;
	vector<pair<int,int>>rt;
	while(p!=n){
		for(auto i:vc){
			for(int j=1;j<=n;j++){
				if(i==j)continue;
				if(a[i][j]==1 and col[j]==0){
					col[j]=col[i];
					rt.pb({i,j});
					p++;
				}
				if(a[i][j]==2 and col[j]==0){
					col[j]=col[i]+1;;
					rt.pb({i,j});
					p++;
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout<<col[i]<<" ";
	}
	cout<<endl;
	for(auto p:rt)cout<<p.ff<<" "<<p.ss<<endl;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |