1067 Bash遊戲 V2 html
基準時間限制:1 秒 空間限制:131072 KB 分值: 10 難度:2級算法題ios
收藏c++
取消關注算法
有一堆石子共有N個。A B兩我的輪流拿,A先拿。每次只能拿1,3,4顆,拿到最後1顆石子的人獲勝。假設A B都很是聰明,拿石子的過程當中不會出現失誤。給出N,問最後誰能贏得比賽。測試
例如N = 2。A只能拿1顆,因此B能夠拿到最後1顆石子。spa
Inputcode
第1行:一個數T,表示後面用做輸入測試的數的數量。(1 <= T <= 10000) 第2 - T + 1行:每行1個數N。(1 <= N <= 10^9)
Outputhtm
共T行,若是A獲勝輸出A,若是B獲勝輸出B。
Input示例遊戲
3 2 3 4
Output示例ip
B A A
#include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> #include<math.h> #include<queue> #include<set> #include<map> #include<iomanip> #include<algorithm> #include<stack> #define inf 0x3f3f3f3f using namespace std; typedef long long ll; bool f[8]; int main() { #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif // ONLIN f[1]=1;f[2]=0;f[3]=1;f[4]=1; f[5]=1;f[6]=1;f[7]=0; int t; int N; scanf("%d",&t); while(t--) { scanf("%d",&N); if(N<=7){puts(f[N]?"A":"B");continue;} else {puts(f[N%7==0?7:N%7]?"A":"B");continue;} } return 0; }