Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- using namespace std;
- bool compare(int *a, int *b)
- {
- int i = 0;
- while (i < 1001)
- {
- if (a[i] < b[i])
- {
- return true;
- }
- if (a[i] > b[i])
- {
- return false;
- }
- i++;
- }
- return false;
- }
- bool compare1(int *a, int *b)
- {
- int i = 0;
- while (i < 1001)
- {
- if (a[i] < b[i])
- {
- return true;
- }
- if (a[i] > b[i])
- {
- return false;
- }
- i++;
- }
- return true;
- }
- int *log4(int *a)
- {
- int *b0 = new int[1001];
- int *b1 = new int[1001];
- for (int i = 0; i < 1000; i++)
- {
- b1[i] = 0;
- b0[i] = 0;
- }
- b1[1000] = 1;
- b0[1000] = 1;
- while (compare(b1, a))
- {
- for (int i = 0; i < 1001; i++)
- {
- cout << b1[i] << " ";
- }
- cout << endl;
- for (int i = 0; i < 1001; i++)
- {
- b0[i] = b1[i];
- }
- int mem = 0;
- for (int i = 1000; i >= 0; i--)
- {
- int x = b0[i] * 4 + mem;
- mem = x / 10;
- b1[i] = x % 10;
- }
- }
- return b0;
- }
- int *mul3(int *a)
- {
- int mem = 0;
- int b[1001];
- for (int i = 100; i >= 0; i--)
- {
- int x = a[i] * 3 + mem;
- mem = x / 10;
- b[i] = x % 10;
- }
- return b;
- }
- int main()
- {
- ifstream fin ("guess.in");
- ofstream fout ("guess.out");
- int n;
- fin >> n;
- string s;
- int res;
- int v4[1001];
- for (int i = 0; i < 1001; i++)
- {
- v4[i] = 0;
- }
- v4[1000] = 4;
- vector<int> st;
- for (int i = 0; i < n; i++)
- {
- fin >> s;
- int k[1001];
- for (int i = s.length() - 1; i >= 0; i--)
- {
- k[1001 - s.length() + i] = s[i] - 'a';
- while (compare(v4, k))
- {
- int *l = log4(k);
- for (int i = 0; i < 1001; i++)
- {
- cout << l[i] << " ";
- }
- cout << endl;
- cout.flush();
- if (compare1(k, mul3(l)))
- {
- st.push_back(3);
- }
- else
- {
- st.push_back(0);
- }
- }
- if (k[1000] == 1 || k[1000] == 4)
- {
- res = 1;
- }
- else
- {
- res = 2;
- }
- while (st.size() > 0)
- {
- if (st[st.size() - 1] == 3)
- {
- res = 3 - res;
- }
- st.pop_back();
- }
- }
- }
- fout << res;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement