fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int x, y;
  5.  
  6. void solve()
  7. {
  8. int n = x+y;
  9. if(x > y)
  10. {
  11. cout<<"NO\n"; return;
  12. }
  13. if(x == 0 && y % 2 == 0)
  14. {
  15. cout<<"NO\n"; return;
  16. }
  17. if((x+y)%2 == 1)
  18. {
  19. cout<<"YES\n";
  20. int diff = x-y;
  21. int tmp = 1;
  22. for(int i=1; i<=x*2; i+=1)
  23. {
  24. cout<<tmp<<" "<<tmp+1<<'\n';
  25. tmp++;
  26. }
  27. for(int i=tmp+1; i<=n; i+=1)
  28. {
  29. cout<<1<<" "<<i<<'\n';
  30. }
  31. }
  32. else
  33. {
  34. cout<<"YES\n";
  35. int diff = x-y;
  36. int tmp = 1;
  37. for(int i=1; i<=x*2-1; i+=1)
  38. {
  39. cout<<tmp<<" "<<tmp+1<<'\n';
  40. tmp++;
  41. }
  42. for(int i=tmp+1; i<=n; i+=1)
  43. {
  44. cout<<1<<" "<<i<<'\n';
  45. }
  46. }
  47. }
  48.  
  49. int main() {
  50. int test = 1;
  51. cin>>test;
  52. while(test--)
  53. {
  54. cin>>x>>y;
  55. solve();
  56. }
  57. return 0;
  58. }
Success #stdin #stdout 0s 5324KB
stdin
4
0 5
stdout
YES
1 2
1 3
1 4
1 5
YES
1 2
1 3
1 4
1 5
YES
1 2
1 3
1 4
1 5
YES
1 2
1 3
1 4
1 5