题目链接:https://cn.vjudge.net/contest/274151#problem/L

题目大意:给你一个1*n的方格,两个人轮流放字母,每一次可以放"S"或者"O",问你谁最先构成"SOS".

具体思路:首先找到必胜态,"S_ _S".这种时候,在其他地方都已经放满的情况下,无论第一个人怎么下,都是第二个人赢.然后要想构造出这种的情况长度就至少为7.然后就开始看谁先能构造出这个东西了.

当长度大于等于7并且是奇数的时候,这个时候先手必赢.

当长度是偶数的时候,如果第一次是先手先放一个S的话,后手肯定能比先手先构造出必胜态,

所以说就开始讨论先手不放S.

如果先手不先放S,要是想赢就必须长度为偶数,并且当第一次放入棋子之后,至少有连续的7个空白的还可以放旗子,第一次先手先放置一个0,然后这个时候后手就会再放一个然后这个时候就开始往长度是偶数的时候想,这个时候 "先手" 就相当于 长度是偶数的 时候的"后手" 所以这种时候先手胜.

AC代码:

 #include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stdio.h>
#include<queue>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = +;
# define mod
int main()
{
int T;
int Case=;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
if(n>=&&n%==)printf("Case #%d: Sheep\n",++Case);
else if(n%!=&&n>=) printf("Case #%d: Panda\n",++Case);
else printf("Case #%d: Draw\n",++Case);
}
return ;
}

最新文章

  1. Rust初步(四):在rust中处理时间
  2. 【转】Bloom Filter布隆过滤器的概念和原理
  3. DFS:Red and Black(POJ 1979)
  4. Hibernate使用原生sql语句
  5. POJ 1064 Cable master (二分答案)
  6. 关于WIFI的工作模式--AP MODE/STATION MODE
  7. bzoj1453
  8. 纯CSS完美实现垂直水平居中的6种方式
  9. SqlDbHelper备份,做项目时方便应用(目前不太全,把自己项目中的逐渐转移过来)
  10. [转]printf 字符串格式化
  11. Log4net 参数详解
  12. isNAN()的使用
  13. Java正则过滤
  14. python一次性解压多层嵌套zip压缩包
  15. node os模块
  16. eclipse中用maven创建web项目
  17. webpack使用五
  18. VS2010 调试C++项目 fatal error LNK1123 错误解决办法
  19. 洛谷P1140 相似基因 (DP)
  20. linux文件和目錄管理的基本命令命令

热门文章

  1. 双主双写、只备份某些表且要在建表ID自增
  2. 大家好,请问在DELPHI中#13和#10是表示什么含义的?
  3. get 与 next()
  4. elsarticle模板 去掉Preprint submitted to
  5. logstash收集MySQL慢查询日志
  6. C 类网络的子网快速划分
  7. Java SSM 整合
  8. 【51Nod1386】双马尾机器人Description 解题报告
  9. 修改apache的注册表值提高系统权限
  10. 代码收藏系列--javascript--移动端技巧