fork download
  1. // **********************************************************
  2. // * *
  3. // وَأَن لَّیۡسَ لِلۡإِنسَـٰنِ إِلَّا مَا سَعَىٰ وَأَنَّ سَعۡیَهُۥ سَوۡفَ یُرَىٰ *
  4. // * *
  5. // **********************************************************
  6. #include<bits/stdc++.h>
  7. #include <map>
  8. #define FAST ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
  9. #define ll long long
  10. #define lli long long int
  11. #define Y cout<<"YES"<<"\n";
  12. #define N cout<<"NO"<<"\n";
  13. //#define ll long long
  14. #define en "\n"
  15.  
  16. const ll sz=1e7+5;
  17. using namespace std;
  18. int f_arr[sz];
  19. int f_arr2[sz];
  20. vector<bool>not_prime(sz,0);
  21. vector<int >v;
  22. void sieve(){
  23. not_prime[0]=not_prime[1]=1;
  24. for(ll i=2;i<=sz/i;i++)
  25. {
  26. if(!not_prime[i])
  27. {
  28. for(ll j=i*i;j<sz;j+=i){
  29. not_prime[j]=1;
  30. }
  31. }
  32. }
  33.  
  34. }
  35. void take_arr(ll arr[],ll n)
  36. {
  37. for(ll i=0;i<n;i++)
  38. cin>>arr[i];
  39. }
  40. int arr[][4]={0};
  41. void solution() {
  42. ll n, x;
  43. cin >> n >> x;
  44. int cont=0;
  45. int mx=max(n,x);
  46. int mn=min(n,x);
  47. if(x==0||n==0)
  48. cout<<0<<en;
  49. else {
  50. while (true){
  51. mx=max(mx,mn);
  52. mn=min(mx,mn);
  53. cout<<mx<<" "<<mn<<en;
  54. if (mx<=1)
  55. break;
  56. else if (mn==0)
  57. break;
  58. mx-=2;
  59. mn-=1;
  60. cont++;
  61.  
  62. }
  63. cout<<cont<<en;}
  64. }
  65.  
  66.  
  67. int32_t main() {
  68. FAST
  69. int test_case=1;cin>>test_case;
  70. while(test_case--){
  71. solution();
  72. }
  73.  
  74. //----------->>
  75. return 0;
  76. }
Success #stdin #stdout 0.01s 5548KB
stdin
Standard input is empty
stdout
1 1
0