fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. int f(int u,vector<int> &v,vector<int> adj[],int n){
  6. int t=false;
  7. for(int i=1;i<=n;i++){
  8. if(i==u)continue;
  9. if(v[i]!=v[u]){
  10. adj[i].push_back(u);
  11. t=true;
  12. break;
  13. }
  14. }
  15. if(!t){
  16. return -1;
  17. }
  18. return 0;
  19. }
  20.  
  21. void solve() {
  22. int n;
  23. cin >> n;
  24. vector<int> v(n+1);
  25. for(int i=1;i<=n;i++){
  26. cin>>v[i];
  27. }
  28. vector<int> adj[n+1];
  29. for(int i=2;i<=n;i++){
  30. int k=f(i,v,adj,n);
  31. if(k==-1){
  32. cout<<"NO"<<endl;
  33. return;
  34. }
  35. }
  36. cout<<"YES"<<endl;
  37. for(int i=1;i<=n;i++){
  38. for(int k:adj[i]){
  39. cout<<i<<" "<<k<<endl;
  40. }
  41. }
  42.  
  43.  
  44. }
  45.  
  46. signed main() {
  47. int t;
  48. cin >> t;
  49. while (t--) {
  50. solve();
  51. }
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0.01s 5284KB
stdin
4
5
1 2 2 1 3
3
1 1 1
4
1 1000 101 1000
4
1 2 3 4
stdout
YES
1 2
1 3
1 5
2 4
NO
YES
1 2
1 3
1 4
YES
1 2
1 3
1 4