ACM_跳坑小能手(暴力)
跳坑小能手
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
GDUFE-GAME现场有一个游戏场地人头窜动,围观参与游戏的学生在场上跳来跳去。每次游戏一名参与者,且每次游戏结束时场地都会出现随机的变化(游戏过程中场地不会发生变化,只在更换参与者时变化)。场地有两种类型:第一种是高台,第二种是深坑。参与者从任意高台出发向前跳,规定每次向前跳的步伐大小相同,但步伐大小由参与者自行决定,必须大于0。只要跳7次不掉入坑中,便能获得奖品。QWER决定参加,但是为了奖品,他提出,参与者能决定什么时候上场。提议被组织者接受之后,QWER现在需要你帮他决定对于每一个场地,他能不能上场赢得游戏。
Input:
数据包含多个测试实例。
每个测试实例第一行是一个整数 n (1 ≤ n ≤ 100);第二行 n 个字符表示场地,其中:'*'表示高台的一部分,'.'代表深坑的一部分。
Output:
对于每个测试实例,如果QWER上场能赢,输出"Yes"(不包括引号),否则输出"No"(不包括引号)。
Sample Input:
15
*.***.*.*.*.*.*
15
***.*..********
Sample Output:
Yes
Yes
解题思路:暴力大法即可解决。由于题目给的字符串最长为100,所以对当前每个字符作为起点i,往后枚举加上步长j后的坐标,同时至少需要7跳才能获奖,所以用tmp(=i+j*k,可以用来判断是否跳出了n(即大于等于n))保存每跳到的点,并判断是否为坑。在起点、步长变化(控制变量)下,进行7次跳,如果跳的过程遇到坑即'.'就退出当前跳的步长,换下一个步长,依次暴力枚举下去,如果flag为true,则可以获奖。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[];
int n,tmp;
bool flag;
while(cin>>n){
cin>>a;
flag=false;
for(int i=;i<n-;++i){ //给出的至少有7个字符
if(a[i]=='.')continue; //如果当前字符是坑'.'跳过下面
for(int j=;j<n;++j){ //枚举步长,从1开始枚举
for(int k=;k<=;++k){ //至少跳7次
tmp=i+j*k; //来保存暂时的下标,可以防止越界
if(tmp>=n || a[tmp]=='.')break; //如果跳的过程遇到坑或者超过n,退出
if(k==)flag=true; //能跳到7次说明可以获奖
}
if(flag)break;
}
if(flag)break;
}
cout<<(flag?"Yes":"No")<<endl;
}
return ;
}
ACM_跳坑小能手(暴力)的更多相关文章
- 跳坑 小程序swiper组件 轮播图片 右边空白问题
swiper 组件 设置轮播图片时,右侧会出现空白的情况:是因为 swiper组件有默认的 高度和宽度,所以我们在设置图片高度和宽度的同时, 也要为 设置高度和宽度,和高度和宽度样式一样的就可以.
- 两百条微信小程序跳坑指南(不定时更新)
微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...
- 小程序红包开发跳坑记 微信小程序红包接口开发过程中遇到的问题 微信小程序红包开发
现在做小程序的越来越多,商家推广也是一个瓶颈,谁不发点红包,都很难找到人来用你的微信小程序了.于是不管你开发什么小程序功能,你或多或少都要用到小程序来发红包吧. 我们自己之前做公众号发红包,做了两三 ...
- h5页面跳转小程序
2020年以前, 只能通过 web-view内嵌h5跳转小程序,现在 可以直接跳了!!!!!! 官方文档:https://developers.weixin.qq.com/doc/offiacco ...
- JavaScript 跳坑指南
JavaScript 跳坑指南 坑0-String replace string的replace方法我们经常用,替换string中的某些字符,语法像这样子 string.replace(subStr/ ...
- Xamarin安装和跳坑指南
安装Checklist 注意:本文只描述安装过程,由于组件的版本更新很快,为保证文章时效性,不提供下载链接,也尽可能不指明具体版本. 安装Visual Studio 2015进行默认安装,除非已经FQ ...
- 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)
算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...
- 微信小程序跳转小程序
<navigator target="miniProgram" open-type="navigate" app-id="{{BappId}}& ...
- Golang的防坑小技巧
Golang的防坑小技巧 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名小白,在之前没有接触到编程的小伙伴,难免会踩到一些坑,比如说刚刚入门的时候你需要安装环境,学习Gol ...
随机推荐
- OPENWRT安装Python到U盘
http://www.zcilxl.com/tech/23.html 研究了一下如何将软件安装在OPENWRT挂载的U盘上,以Python为例,把过程记录一下. 安装的前提是你的USB设备已经成功挂载 ...
- Use Local Or Global Index?
常常我们须要将大表依据分区键进行分区,当建立索引的时候.我们究竟使用local 还是global 索引呢 先看看两种索引的特点: 本地索引特点: 1. 本地索引一定是分区索引.分区键等同于表的分区键. ...
- Android TabHost设置setCurrentTab(index),当index!=0时,默认加载第一个tab问题解决方法。
最近在用TabHost,默认希望显示第2个tab,发现总是加载第三个tab的同时加载第一个,解决方法如下: 1.首先查看addTab(TabSpec tabSpec)源代码: /** * Add a ...
- Eclipse中jvm执行库的Access restriction问题的解决方法
今天在写代码的时候遇到了jre system libraries的訪问限制问题,该库是jvm执行的依赖库rt.jar,解决方式例如以下: 步骤: (1)项目右击.出现Build Path.点击进入Ja ...
- linux【第六篇】用户和用户管理及定时任务复习
定时任务复习 1.什么是定时任务? 2.如何编辑查看定时任务(配置文件位置?),语法的特殊字符意义是什么?- * , / 3.书写定时任务有哪些要领? 4.生产如何调试定时任务 5.生产场景配置定时任 ...
- MFC项目实战(1)文件管理器--准备篇
本程序主要实现如下功能: 程序通过左边的树形控件显示本地计算机中目录的结构,右边的列表控件则负责响应树形控件中选择的目录节点并把此节点中的所有项在列表框中显示出来,列表框支持奇偶行颜色设置,选中颜色设 ...
- DataTabless Add rows
参考官网案例:https://datatables.net/examples/api/add_row.html JS: $(document).ready(function() { var t ...
- UVA796 Critical Links —— 割边(桥)
题目链接:https://vjudge.net/problem/UVA-796 In a computer network a link L, which interconnects two serv ...
- 以太坊客户端geth的基本操作命令
以太坊客户端geth的基本操作命令搭建了私有链环境之后,整理了一下客户端的一些基本的操作命令: 启动命令重复上篇博客步骤,先将区块链客户端启动,命令如下: geth –datadir “%cd%\ch ...
- POJ - 3468 A Simple Problem with Integers(线段树区间更新,区间查询)
1.给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). "Q a b" ...