天天看点

HDU 1538 海盗分金

可空降至 <span style="font-family: Arial, Helvetica, sans-serif;">http://www.guokr.com/article/41423/</span>
           
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <climits>
#include <cctype>
#include <algorithm>
#include <iostream>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <utility>
#include <functional>
using namespace std;
typedef long long LoveLive;
const double pai = acos(-1.0);
//const double pai = 3.14159265358979323846;
const int inf = INT_MAX;

int main(){
#ifndef ONLINE_JUDGE
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
#endif // ONLINE_JUDGE
    int t, n, m, p;
    while(scanf("%d", &t) != EOF){
        while(t--){
            scanf("%d %d %d", &n, &m, &p);
            if(2 * m + 1 > n){
                if(p == n){
                    printf("%d\n", m - ((n - 1) / 2));
                    continue;
                }
                if((p + n) % 2 == 0){
                    printf("1\n");
                    continue;
                }
                if((p + n) & 2 != 0){
                    printf("0\n");
                }
            }
            else if(n == 2 * m + 1){
                if(p == n){
                    printf("0\n");
                    continue;
                }
                if((p + n) % 2 == 0){
                    printf("1\n");
                    continue;
                }
                else{
                    printf("0\n");
                    continue;
                }
            }
            else{
                int ii, jj, kk;
                int key = n - 2 * m;
                for(ii = 25; ii >= 1; ii--){
                    jj = (int)(pow(2, ii));
                    if(jj <= key){
                        break;
                    }
                }
//             cout << jj << endl;
                if(p > 2 * m + jj){
                    printf("Thrown\n");
                }
                else{
                    printf("0\n");
                }
            }
        }
    }
return 0;
}