Advertisement
MinhNGUYEN2k4

b030621

Mar 6th, 2021
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.24 KB | None | 0 0
  1. //Nguyen Huu Hoang Minh
  2. #include <bits/stdc++.h>
  3. #define sz(x) int(x.size())
  4. #define all(x) x.begin(),x.end()
  5. #define reset(x) memset(x, 0,sizeof(x))
  6. #define pb push_back
  7. #define mp make_pair
  8. #define fi first
  9. #define se second
  10. #define N 2005
  11. #define remain(x) if (x > MOD) x -= MOD
  12. #define ii pair<int, int>
  13. #define iiii pair< ii , ii >
  14. #define viiii vector< iiii >
  15. #define vi vector<int>
  16. #define vii vector< ii >
  17. #define bit(x, i) (((x) >> (i)) & 1)
  18. #define Task "test"
  19. #define int long long
  20.  
  21. using namespace std;
  22.  
  23. typedef long double ld;
  24. const int inf = 1e10;
  25. const int minf = -1e10;
  26.  
  27. int t, h, m;
  28. string s1, s2;
  29.  
  30. void readfile()
  31. {
  32.     ios_base::sync_with_stdio(false);
  33.     cin.tie(0);cout.tie(0);
  34.     if (fopen(Task".inp","r"))
  35.     {
  36.         freopen(Task".inp","r",stdin);
  37.         //freopen(Task".out","w",stdout);
  38.     }
  39.     cin >> t;
  40. }
  41.  
  42. int a,b;
  43. char useless;
  44.  
  45. bool check(int x, int type)
  46. {
  47.     queue<int> st;
  48.     int fir = x;
  49.     while (x > 0)
  50.     {
  51.         int s = x%10;
  52.         if (s != 0 && s != 1 && s != 2 && s != 5 && s != 8) return false;
  53.         if (s==2) st.push(5);
  54.         else if (s==5) st.push(2);
  55.         else st.push(s);
  56.         x = x/10;
  57.     }
  58.     if (fir < 10) st.push(0);
  59.     int ans=st.front();
  60.     st.pop();
  61.     while (st.size())
  62.     {
  63.         int v = st.front();
  64.         st.pop();
  65.         ans = (ans*10)+v;
  66.     }
  67.     if (type==1 && ans >= m) return false;
  68.     else if (type==2 && ans >= h) return false;
  69.     return true;
  70. }
  71.  
  72. void solve()
  73. {
  74.     cin >> h >> m;
  75.     cin >> a >> useless >> b;
  76.     while (1)
  77.     {
  78.         if (check(a,1) && check(b,2)) {
  79.                 if (a<10) cout << 0;
  80.                 cout << a;
  81.                 cout << useless;
  82.                 if (b < 10) cout << 0;
  83.                 cout << b;
  84.                 cout << endl;
  85.                 break;
  86.         }
  87.         else{
  88.             if (b < m-1) b++;
  89.             else if (b==m-1 && a != h-1){
  90.                 a++;
  91.                 b=0;
  92.             }
  93.             else if (b==m-1 && a==h-1){
  94.                 a=0;
  95.                 b=0;
  96.             }
  97.         }
  98.     }
  99. }
  100.  
  101. void proc()
  102. {
  103.     while (t--)
  104.     {
  105.         solve();
  106.     }
  107. }
  108.  
  109. signed main()
  110. {
  111.     readfile();
  112.     proc();
  113.     return 0;
  114. }
  115.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement