CodeForces 500 A. New Year Transportation(水~)

来源:互联网 发布:淘宝儿童毛衣 编辑:程序博客网 时间:2024/06/10 03:38

Description
n个城市编号1~n,前n-1个城市分别有一个通道,每个通道长ai,即从第i个城市可以到达第i+ai个城市,现给出这n-1个通道的长度,并给出一个城市的编号t,问是否能从1城市到t城市
Input
第一行两个整数n和t表示城市总数以及目标城市编号,第二行n-1个整数表示n-1个通道的长度,保证i+ai不会超过n
Output
如果可以从1城市到t城市则输出YES,否则输出NO
Sample Input
8 4
1 2 1 2 1 2 1
Sample Output
YES
Solution
水题,能到i就能到i+ai,开一个标记数组标记每个城市是否可达即可
Code

#include<cstdio>#include<iostream>#include<cstring>using namespace std;#define maxn 33333int n,t,sum,a[maxn],flag[maxn];int main(){    while(~scanf("%d%d",&n,&t))    {        memset(flag,0,sizeof(flag));        flag[1]=1;        for(int i=1;i<n;i++)            scanf("%d",&a[i]);        for(int i=1;i<n;i++)            if(flag[i])                flag[i+a[i]]=1;        if(flag[t])printf("YES\n");        else printf("NO\n");    }    return 0;}
0 0