给出 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;
}