CodeForces 669B Little Artem and Grasshopper
2016-04-27 16:02
323 查看
题意:有格子是1*n这么大的,每个格子里面都写着一个箭头,表示这个人要往哪儿去跳,并且给你这个人跳跃的距离是多少,然后问你这个人会不会一直跳下去……
思路:开个数组标记下就可以了
Description
Little Artem found a grasshopper. He brought it to his house and constructed a jumping area for him.
The area looks like a strip of cells 1 × n. Each cell contains the direction for the next jump and the length of that jump. Grasshopper starts in the first cell and follows the instructions
written on the cells. Grasshopper stops immediately if it jumps out of the strip. Now Artem wants to find out if this will ever happen.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 100 000) — length of the strip.
Next line contains a string of length n which consists of characters "<" and ">" only, that provide the direction
of the jump from the corresponding cell. Next line contains n integers di (1 ≤ di ≤ 109) —
the length of the jump from the i-th cell.
Output
Print "INFINITE" (without quotes) if grasshopper will continue his jumps forever. Otherwise print "FINITE" (without quotes).
Sample Input
Input
Output
Input
Output
思路:开个数组标记下就可以了
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+10; string s; int vis[maxn],n,now,jump[maxn]; int main() { scanf("%d",&n); cin >> s; for (int i = 0;i<n;i++) scanf("%d",&jump[i]); while (1) { if (vis[now]) return puts("INFINITE"); vis[now]=1; if (s[now]=='>') now+=jump[now]; else now-=jump[now]; if (now>=n || now<0) return puts("FINITE"); } }
Description
Little Artem found a grasshopper. He brought it to his house and constructed a jumping area for him.
The area looks like a strip of cells 1 × n. Each cell contains the direction for the next jump and the length of that jump. Grasshopper starts in the first cell and follows the instructions
written on the cells. Grasshopper stops immediately if it jumps out of the strip. Now Artem wants to find out if this will ever happen.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 100 000) — length of the strip.
Next line contains a string of length n which consists of characters "<" and ">" only, that provide the direction
of the jump from the corresponding cell. Next line contains n integers di (1 ≤ di ≤ 109) —
the length of the jump from the i-th cell.
Output
Print "INFINITE" (without quotes) if grasshopper will continue his jumps forever. Otherwise print "FINITE" (without quotes).
Sample Input
Input
2 >< 1 2
Output
FINITE
Input
3 >>< 2 1 1
Output
INFINITE
相关文章推荐
- Linux配置Jenkins建立Maven Job持续发布项目到Tomcat
- linux下网卡buffer size修改
- Mysql跨平台(Windows,Linux,Mac)使用与安装
- 【那些年遇到过的面试题】 Linux的发型版本,及其中的差异~
- linux CentOS7.2配置LNMP
- Nginx 之三:nginx服务器模块、web请求处理机制及事件驱动模型、进程功能和进程间通信
- 虚拟机上安装ArchLinux笔记
- 利用openssl库进行RSA加密
- Hadoop生态系统介绍
- iOS应用架构谈-view层的组织和调用方案
- shell-awk高级应用
- LNMP中nginx代理
- OP-TEE TA:读写寄存器数据
- 阿里云安装docker的问题
- [企业级linux安全管理]- 主机安全管理
- Linux下安装Activemq-5.11.1
- Auto packing the repository in background for optimum performance
- [企业级linux安全管理]- 系统日志管理
- Android系统启动流程 -- linux kernel
- win7 vm10.0 centos7 共享目录问题