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

it2024-05-15  51

 

 给出 n 个数,要求在每个数之间建一条道路,要求相同的两个数之间不能够直接相连,但可以间接相连,若存在请输出这 n-1 条边,答案存在多个

只需从数组中找到不同的两个数,即可完成建图过程 

const int N=5000+5; int n,m,t; int i,j,k; int a[N]; int main() { //IOS; rush(){ n=read(); int p=1,q=0; for(i=1;i<=n;i++){ a[i]=read(); if(a[i]!=a[p] && q==0) q=i; } if(q==0) puts("NO"); else{ puts("YES"); for(i=2;i<=n;i++){ if(a[p]!=a[i]) printf("%d %d\n",p,i); else printf("%d %d\n",i,q); } } } //PAUSE; return 0; }

 

最新回复(0)