http://codeforces.com/problemset/problem/669/B
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.
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.
Print "INFINITE" (without quotes) if grasshopper will continue his jumps forever. Otherwise print "FINITE" (without quotes).
2 >< 1 2
FINITE
3 >>< 2 1 1
INFINITE
In the first sample grasshopper starts from the first cell and jumps to the right on the next cell. When he is in the second cell he needs to jump two cells left so he will jump out of the strip.
Second sample grasshopper path is 1 - 3 - 2 - 3 - 2 - 3 and so on. The path is infinite.
题意:
可怜的小蚂蚱,被带回了家,给定一个地图,地图有长度和在当前位置跳跃的方向何距离(如: ‘<' 往左跳跃)。
问:
能否满足永远在跳(生命都会有完结的同一天,不要说永远,至少珍惜现在,吐糟勿喷)。
键入数据提示:
序列的长度 n;
当前位置跳跃的方向(左右);
当前位置跳跃的距离。
思路:
最后满足的肯定是在两个方格里面循环跳:
如果位置是 a, b(a<b) ,则有a 往右跳,b 往左跳,并且跳的距离是位置 b - a 的单位大小。
Code:
等待AC