Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <sstream>
- #include <string>
- #include <vector>
- #include <queue>
- #include <set>
- #include <map>
- #include <cstdio>
- #include <cstdlib>
- #include <cctype>
- #include <cmath>
- using namespace std;
- typedef long long LL;
- #define FOR(k,a,b) for(int k(a); k < (b); ++k)
- #define REP(k,a) for(int k=0; k < (a); ++k)
- int main()
- {
- int T,m,n,p,q;
- vector<vector<int> > state(1001,vector<int> (1001));
- //0-1 m direction can win, 2-0 n direction, 4-0 diagonal
- //state[0][0] loose
- REP(i,1001)
- REP(j,1001)
- {
- if(i && ((state[i-1][j]&1) || !state[i-1][j]))
- state[i][j]|=1;
- if(j && ((state[i][j-1]&2)|| !state[i][j-1]))
- state[i][j]|=2;
- if(i && j && ((state[i-1][j-1]&4)|| !state[i-1][j-1]))
- state[i][j]|=4;
- }
- cin >> T;
- REP(testcase,T)
- {
- cin >> m >> n >> p >> q;
- m-=p;n-=q;
- if(state[m][n])
- cout << "Alice" << endl;
- else
- cout << "Bob" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment