Codeforces 362B. Petya and Staircases

来源:互联网 发布:兰芝淘宝旗舰店 编辑:程序博客网 时间:2024/04/26 15:13

B. Petya and Staircases


思路:一打眼看有DP的思想,dp是模拟了这个过程,来看最后是否到达。如果我们可以准确地找出来到达的条件是什么,直接判断则更为简单,此题就是。不能有连续的三个数字出现


#include <iostream>#include <cstdio>#include<algorithm>using namespace std;int main(){    int m,n;    int num[4000];    bool flag = true;    cin>>n>>m;    for ( int i=0; i<m; i++ ) {        scanf("%d",&num[i]);        if ( num[i]==1 || num[i]==n ) flag = false;    }    if ( flag ) {        sort( num,num+m);        for ( int i=2; i<m; i++ )            if ( num[i]==num[i-1]+1 && num[i]==num[i-2]+2 ) {                flag = false;                break;            }    }    if ( flag ) cout<<"YES"<<endl;    else cout<<"NO"<<endl;}





0 0