题解:P15017 [UOI 2020 II Stage] 大炮

· · 题解

一道个人认为很水的纯模拟,模拟哥萨克胡子目前的高度,然后再判断是否会掉下来就行了。

代码如下:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int s[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>s[i];
    }
    s[n+1]=0;//保证哥萨克胡子最后能掉下来
    int g=1,cnt=0;
    for(int i=1;i<=n;i++){
        if(s[i+1]<=g){
            g=1;
            cnt++;
        }
        g++;
    }
    cout<<cnt;
    return 0;
}