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 ...
随机推荐
- Java 8中的时间
Java 8中的时间 学习了:https://blog.csdn.net/sun_promise/article/details/51383618
- [wxWidgets]_[0基础]_[不常见但有用的类wxCmdLineParser]
场景: 1. 有时候须要构造命令行字符串传递給函数调用,比方CreateProcess,假设參数是动态的,那么就得使用类似std::vector<string>加入单个參数,之后拼接为一个 ...
- sdk manager 创建的虚拟机启动的时候总是在Android字样解决
一直显示Android字样.仅仅须要删除文件夹下的snapshots.img 找到sdk的文件夹下的\tools\lib\emulator,然后删除上面的文件snapshots.img就可以,我的sd ...
- 怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
一.REST 含状态传输(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格. 眼下在 ...
- java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 遇到这样的问题 ...
- Codeforces 104C Cthulhu dfs暴力 || 点双连通缩点
题目链接:点击打开链接 题意: 给定n个点m条边的无向图 问图中是否存在 有且仅有一个简单环和一些树,且这些树的root都在这个简单环上. 瞎写了个点双. . == #include <stdi ...
- MJRefresh实现刷新(使用它的Block方法)
MJRefresh实现刷新(使用它的Block方法) // // YFMVCPostListViewController.m // iOS122 // // Created by 颜风 on 15 ...
- vmware10上安装mac os 10.9
来源地址:http://dtbuluo.com/blog/archives/350 序言: 前几天跟朋友开玩笑说,要不我们一起来学习一下swift编程语言吧~我们就抱着玩玩的态度,没有想过要做出什么优 ...
- 图像处理之基础---很好的一个快速比较两副图片是否相同的code 可用于公安鉴别
转自Codeproject http://www.codeproject.com/dotnet/comparingimages.asp Public Enum CompareResult ciComp ...
- NHibernate查询导致Update问题
用NHibernate,总感觉怪事多罗罗. 比如说,明明我们是在查询,却报错,刨根问底找到出错原因,竟然是因为执行了一些Update甚至Insert!老天,我们明明只是查询而已,什么时候有更新过数据? ...