Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- #define pb push_back
- #define one puts("1")
- #define zero puts("0")
- using namespace std;
- string p;
- int k;
- int md[4];
- int mod(string num, int a)
- {
- int res = 0;
- for (int i = 0; i < num.length(); i++)
- res = (res*10 + (int)num[i] - '0') %a;
- return res;
- }
- main() {
- int t;
- cin >> t;
- while(t--) {
- cin >> p >> k;
- md[0] = mod(p, 5);
- md[1] = mod(p, 13);
- md[2] = mod(p, 29);
- md[3] = mod(p, 53);
- if(k == 1) {
- if(p == "5")
- zero;
- else if(md[0] == 1 || md[0] == 4)
- one;
- else {
- p.back()--;
- cout << p << endl;
- }
- } else if (k == 3){
- if(p == "13")
- zero;
- else if(md[1] == 1 or md[1] == 4 or md[1] == 9 or md[1] == 3 or md[1] == 12 or md[1] == 10)
- one;
- else {
- p.back()--;
- cout << p << endl;
- }
- }
- else if(k == 5) {
- if(p == "29")
- zero;
- else if(md[2] == 1 or md[2] == 4 or md[2] == 7 or md[2] == 6 or md[2] == 5 or md[2] == 9 or md[2] == 13 or md[2] == 16 or md[2] == 20 or md[2] == 22 or md[2] == 23 or md[2] == 24 or md[2] == 25 or md[2] == 28)
- one;
- else {
- p.back()--;
- cout << p << endl;
- }
- }
- else if (k == 7) {
- if(p == "2") {
- puts("1");
- continue;
- }
- if(p == "53")
- zero;
- else if(md[3] == 2 || md[3] == 24 || md[3] == 1 or md[3] == 4 or md[3] == 6 or md[3] == 7 or md[3] == 9 or md[3] == 10 or md[3] == 11 or md[3] == 13 or md[3] == 15 or md[3] == 16 or md[3] == 17 or md[3] == 25 or md[3] == 24 or md[3] == 29 or md[3] == 28 or md[3] == 38 or md[3] == 36 or md[3] == 37 or md[3] == 43 or md[3] == 46 or md[3] == 43 or md[3] == 40 or md[3] == 44 or md[3] == 49 or md[3] == 47 or md[3] == 42 or md[3] == 52)
- one;
- else {
- p.back()--;
- cout << p << endl;
- } }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement