小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:
  “我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。

K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。

并且:

1. 轮到某人填的时候,只能在某个空格中填入L或O
  2. 谁先让字母组成了“LOL”的字样,谁获胜。
  3. 如果所有格子都填满了,仍无法组成LOL,则平局。

小明试验了几次都输了,他很惭愧,希望你能用计算机帮他解开这个谜。
输入格式
  第一行,数字n(n<10),表示下面有n个初始局面。
  接下来,n行,每行一个串,表示开始的局面。
  比如:“ ****** ”, 表示有6个空格。“L****”, 表示左边是一个字母L,它的右边是4个空格。
输出格式
  要求输出n个数字,表示对每个局面,如果小明先填,当K大师总是用最强着法的时候,小明的最好结果。
  1 表示能赢
  -1 表示必输
  0 表示可以逼平
样例输入
4
**
L** L
L ** L***L
L *****L
样例输出
0
-1
1
1

#include<bits/stdc++.h>
using namespace std;
int is_lol(string x)
{int len=x.length(); if(x.find("LOL")!=string::npos) return -1;//当我方开始填时已出现LOL时,则我方输 if(x.find("*")==string::npos) return 0;//当没有出现LOL时,且没有空格则为平局 int ping=0;//先假设不为平局 for(int i=0;i<len;i++)//从当前状态的棋牌开始遍历操作 {if(x[i]=='*') //找到一个空格,我们可以填入L或者O,然后再往下。也可以不选择这个空格,即回溯回来。 {x[i]='L';//先填L试试 int t=is_lol(x);if(t==-1)return 1;//当我方填完后,出现LOL,则我方赢 if(t==0)ping=1; //当我方填完后,没有空格,则为平局 x[i]='O';//再填O试试 t=is_lol(x);if(t==-1)return 1;//当我方填完后,出现LOL,则我方赢 if(t==0)ping=1; //当我方填完后,没有空格,则为平局 x[i]='*';//或者不填 }}if(ping) return 0;//如果存在平局,则结果为平局,否则即输 return -1;
}
int main()
{int n;cin>>n;string x;for(int i=1;i<=n;i++){cin>>x;cout<<is_lol(x)<<endl;}return 0;
} 

蓝桥杯 填数字游戏 20分。相关推荐

  1. 蓝桥杯 ALGO-1005 数字游戏 python

    蓝桥杯 ALGO-1005 数字游戏 python 试题 算法训练 数字游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到 ...

  2. 蓝桥杯 填字母游戏(博弈论)

    小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: "我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了". K大师在纸上画了一行n个格子,要小明和他交替 ...

  3. 蓝桥杯 ALGO-1005 数字游戏

    1.题目 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字. 例如: 3 1 2 4 4 ...

  4. 蓝桥杯 ALGO-1005 数字游戏 DFS记忆化搜索+剪枝+杨辉三角 python

    题目 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字. 例如: 3 1 2 4 4 3 ...

  5. 7-13 大家一起来玩游戏 (20 分)

    7-13 大家一起来玩游戏 (20 分) 24点是一种益智游戏,24点是把4个整数(一般是正整数)通过加减乘除以及括号运算,使最后的计算结果是24的一个数学游戏,24点可以考验人的智力和数学敏感性,它 ...

  6. C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

  7. C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)

    1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这 ...

  8. C++学习之路 | PTA乙级—— 1012 数字分类 (20分)(精简)

    1012 数字分类 (20分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A ​1 ​​ = 能被 5 整除的数字中所有偶数的和: A ​2 ​​ = 将被 5 除后余 1 ...

  9. 7-10 求数字个数 (20 分)

    7-10 求数字个数 (20 分) 给出四个整数:A,B,K,C,其中A,B,C 都是大于 0 的个位数,问在所有仅由 A 或 B 组成的 K 位数中(K 位数的每一位都是 A 或 B),数字 C 的 ...

最新文章

  1. 有关C语言指针学习思想的随笔常用形式的总结(原创)
  2. Unity游戏开发技巧集锦2.1.3实现效果
  3. Java 7之多线程- Semaphore--转载
  4. MySQL 避坑指南之隐式数据类型转换
  5. android 自定义时间对话框,android自定义日期和时间选择对话框得实现
  6. hystrix 页面_《SpringCloud微服务之Hystrix组件》
  7. web安全设置(含IIS,php,ASP.NET)与目录权限设置
  8. MoveIt China Developer Workshop
  9. 高等代数——大学高等代数课程创新教材(丘维声)——3.8笔记+习题
  10. Verilog 7人投票表决器
  11. 教你如何写Bug:Google Guava源码分析之——Joiner
  12. FreeIPA问题记录
  13. 思科、华为、H3C交换机命名规则全收录
  14. Android 讯飞语音识别功能开发
  15. 新视野大学英语3视听说教程智慧版听力原文 Further practice in listening
  16. CATIA CAA二次开发专题(八)---自定义特征模型
  17. 让 Winform 窗口悬浮的简单方式,不可思议的 TopMost 属性
  18. 海思HI3559A SDK文档说明
  19. Eye Diagram眼图测量
  20. 基于Lucene的中文文本分词

热门文章

  1. ubuntu启动报错 hardware error cpu 0 machine check 0 Bank 6、ACPI BIOS Error (bug)Could not resolve symbol
  2. windows xp系统账号密码忘记解决办法
  3. 原型设计工具Axure RP9下载、中文语言操作说明(赠授权码)
  4. 如何破解禁止复制黏贴
  5. win7虚拟机VCMI无法自动安装驱动程序
  6. 全民打怪兽全民战场恐惧流伙伴实测
  7. K8S pod 时区设置
  8. 交换机/路由器实验:最后说些什么
  9. 使用ArchR分析单细胞ATAC-seq数据(第十二章)
  10. 设置 IntelliJ IDEA 主题和字体的方法