题意:
一个1*n的格子,每个格子通向左或者右的x个格子,问能不能走出去
思路:
错误及反思:
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn =100010;
int n;
char a[maxn];
int b[maxn];
bool did[maxn];
int main()
{
scanf("%d",&n);
scanf("%s",a);
for(int i=0;i<n;i++)
scanf("%d",&b[i]);
int now=0;
bool judge;
did[0]=true;
while(1)
{
if(a[now]=='<') now-=b[now];
else now+=b[now];
if(now>=n||now<0){
judge=true; break;
}
else
{
if(did[now])
{
judge=false; break;
}
did[now]=true;
}
}
if(judge) printf("FINITE\n");
else printf("INFINITE\n");
}