列表

详情


NC220549. 三角尼姆

描述

给出一个正三角形棋盘,两方必须轮流在棋盘上摆放棋子,每次可以摆放一枚或三枚棋子,但所摆放的棋子必须相连一直线,且一格中最多只能放一枚棋子,放下最后一枚棋子的人是输家。

下图给出了在  时的一些可行的动作:



这个时候,"Bob" 和 "Alice" 在这个棋盘上下棋,且总是 "Bob" 先手,请问谁会胜。

输入描述

第一行一个正整数 ,代表测试数据的组数

每组输入在一行中给出一个正整数 ,代表三角形棋盘的变长



输出描述

每组输入在一行中输出胜者

示例1

输入:

2
1
2

输出:

Alice
Alice

原站题解

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

C++(clang++11) 解法, 执行用时: 8ms, 内存消耗: 504K, 提交时间: 2021-04-10 20:41:17

#include <stdio.h>

int main(){
	int n;
	while(~scanf("%d",&n)){
		n = n*(n+1)/2;
		if(n&1){
			puts("Alice");
		}else{
			puts("Bob");
		}
	}
}

Python3 解法, 执行用时: 44ms, 内存消耗: 4656K, 提交时间: 2022-06-23 15:47:43

tcase=int(input())
ss=['Bob','Alice']
for _ in range(tcase):
    n=int(input())
    print( ss[(n*(n+1)//2)%2])

    

上一题