列表

详情


NC205086. 牛牛爱博弈

描述

牛牛和牛妹玩博弈游戏。
牛牛:我们来玩取石子游戏。一共有n堆石子,每个人每次可以取1或2颗石子,谁取走了最后一颗石子就算谁获胜。
牛妹:这游戏太无聊了。
牛牛:那改一改。一共有n堆石子,每个人每次可以取1,2,4,8,...颗石子,谁取走了最后一颗石子就算谁获胜。
牛妹:好的,你先开始取吧。
牛牛心里知道自己是否有必胜策略,但他想来考考你。
因为牛牛牛妹很爱玩这种游戏,所以本题有多组数据。
(注:牛牛叫,牛妹叫.)

输入描述

第一行,输入数据组数T。
接下来T行,每行一个数n。

输出描述

对于每一组数据,
如果牛牛必胜,则输出“Alan”(不含引号);
如果牛妹胜,则输出“Frame”(不含引号)。
(PS:牛牛叫 Alan ,牛妹叫 Frame )

示例1

输入:

3
1
2
3

输出:

Alan
Alan
Frame

说明:

当n=1时,牛牛直接取1颗石子即可获胜。
当n=2时,牛牛直接取2颗石子即可获胜。
当n=3时,显然牛牛论怎么取,牛妹都可以获胜。

示例2

输入:

3
17
18
19

输出:

Alan
Frame
Alan

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

pypy3(pypy3.6.1) 解法, 执行用时: 111ms, 内存消耗: 25076K, 提交时间: 2020-08-15 16:59:33

for _ in range(int(input())):
    n = int(input())
    if n % 3 == 0:
        print('Frame')
    else:
        print('Alan')

C(clang11) 解法, 执行用时: 2ms, 内存消耗: 384K, 提交时间: 2020-11-01 23:45:06

#include<stdio.h>
int main(){int n, m;scanf("%d",&n);while(n--){scanf("%d",&m);printf((!(m%3))?("Frame\n"):("Alan\n"));}}

C++ 解法, 执行用时: 3ms, 内存消耗: 408K, 提交时间: 2021-08-11 22:50:48

#include<cstdio>
int main(){int n, m;scanf("%d",&n);while(n--){scanf("%d",&m);printf((!(m%3))?("Frame\n"):("Alan\n"));}}

JavaScript V8 解法, 执行用时: 18ms, 内存消耗: 5152K, 提交时间: 2022-01-24 21:33:54

const t = +readline()

for (let i = 0; i < t; ++i) {
  print(+readline() % 3 === 0 ? 'Frame' : 'Alan')
}

C++14(g++5.4) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2020-08-15 17:21:56

#include<cstdio>
main(){int t,a;for(scanf("%d",&t);t>0;t--)scanf("%d",&a),puts(a%3?"Alan":"Frame");}

Python3(3.5.2) 解法, 执行用时: 19ms, 内存消耗: 3832K, 提交时间: 2020-08-15 17:26:55

for s in[*open(0)][1:]:print('FArlaamne'[int(s)%3>0::2])

上一题