zoukankan      html  css  js  c++  java
  • 洛谷P4018 Roy&October之取石子

    题目背景

    (Roy)(October)两人在玩一个取石子的游戏。

    题目描述

    游戏规则是这样的:共有(n)个石子,两人每次都只能取(p^k)个((p)为质数,(k)为自然数,且(p^k)小于等于当前剩余石子数),谁取走最后一个石子,谁就赢了。

    现在(October)先取,问她有没有必胜策略。

    若她有必胜策略,输出一行"(October wins!)";否则输出一行"(Roy wins!)"。

    输入输出格式

    输入格式:

    第一行一个正整数T,表示测试点组数。

    (2)行~第((T+1))行,一行一个正整数(n),表示石子个数。

    输出格式:

    (T)行,每行分别为"(October wins!)"或"(Roy wins!)"。

    输入输出样例

    输入样例#1:

    3
    4
    9
    14
    

    输出样例#1:

    October wins!
    October wins!
    October wins!
    

    说明

    对于(30\%)的数据,(1<=n<=30)

    对于(60\%)的数据,(1<=n<=1,000,000)

    对于(100\%)的数据,(1<=n<=50,000,000,1<=T<=100,000)

    (改编题)

    思路:被洛谷标签给骗了,不知道为什么这道题的标签是(prim),本来是想练最小生成树,看数据范围,根本不可做,而且……也没法建边啊,洛谷标签真的是……不过点进来了,就做做吧,发现这其实就是个打表题,如果输入的(n)(6)值为(0),就是先手必败态,否则为先手必胜态。

    代码:

    #include<cstdio>
    using namespace std;
    int t,n;
    int main() {
      scanf("%d",&t);
      while(t--) {
      	scanf("%d",&n);
      	if(n%6) printf("October wins!
    ");
      	else printf("Roy wins!
    ");
      }
      return 0;
    }
    
  • 相关阅读:
    029- 位运算符
    028- 三目运算符
    027- 字符串链接运算符
    026- 布尔运算符
    lucene 结合数据库做搜索
    JDK 1.8判断集合种的元素是否存在相同
    Springboot 集成jpa使用
    json 的使用 Java对象转json
    Java 短信发送
    1 eclipse 离线安装activiti插件
  • 原文地址:https://www.cnblogs.com/grcyh/p/10134364.html
Copyright © 2011-2022 走看看