Codeforces Round #677 (Div. 3)D. Districts Connection

Posted 尘封陌路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #677 (Div. 3)D. Districts Connection相关的知识,希望对你有一定的参考价值。

题目链接:
https://codeforces.com/problemset/problem/1433/D

思路:

因为只要相连的城市不是属于同一个帮派,可以间接相连。
所以只要找到两个不同的即可。

AC代码

#include<bits/stdc++.h>
using namespace std;
const int N=5010;
int t;
int a[N];
int k;

int main()

	cin>>t;
	while(t--)
	
		int n;
		cin>>n;
		k=0;
		for(int i=1;i<=n;i++)
		
			cin>>a[i];
			if(a[i]!=a[1])
			
				k=i;
			
		
		if(!k) 
		
			cout<<"NO"<<endl;continue;
		
		else
		
			cout<<"YES"<<endl;
			for(int i=2;i<=n;i++)
			
				if(a[i]==a[1]) cout<<k<<" "<<i<<endl;
				else cout<<i<<" "<<1<<endl;
			
		
	
	return 0;
  

以上是关于Codeforces Round #677 (Div. 3)D. Districts Connection的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #677 (Div. 3)

Codeforces Round #677 (Div. 3)

Codeforces Round #677 (Div. 3)D. Districts Connection

Codeforces Round #436 E. Fire(背包dp+输出路径)

[ACM]Codeforces Round #534 (Div. 2)

codeforces 677A-C语言解题报告