列表

详情


NC207846. 分贝壳游戏

描述

一堆个数为n的石子,Alice和Bob轮流取。
Alice一次能取[1,p]个石子,牛妹一次能取[1,q]个石子。
拿到最后一个石子的人赢。

如果Alice必胜,返回1
如果Bob必胜,返回-1
如果没有人有必胜策略,返回0

输入描述


示例1

输入:

8,3,3

输出:

-1

示例2

输入:

3,4,2

输出:

1

示例3

输入:

6,3,2

输出:

1

示例4

输入:

6,3,5

输出:

-1

原站题解

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

Go(1.14.4) 解法, 执行用时: 2ms, 内存消耗: 784K, 提交时间: 2020-12-08 21:01:25

package main

// github.com/EndlessCheng/codeforces-go
func Gameresults(n, p, q int) int {
	if p > q || p < q && n <= p || p == q && n%(p+1) > 0 {
		return 1
	}
	return -1
}

C++(clang++11) 解法, 执行用时: 9ms, 内存消耗: 376K, 提交时间: 2021-01-22 23:14:28

class Solution
{
	public:
		int Gameresults(int n,int p,int q)
		{
			if(n<=p)
			return 1;
			if(p<q||p==q&&n%(p+1)==0)
			return -1;
			return 1;
		}
};

上一题