[KOI 2023 Round 1] 奶油面包

· · 题解

题意

面包店有 N \times K 个面包,每 K 个为一组,也就是有 N 组面包。每个面包组由连续的 K 个面包组成,若某组中不含奶油的面包数量少于 P,则该组可销售。0 表示该面包不含奶油,1 表示该面包含有奶油。我们需要统计符合条件的组数。

分析

数据范围不大,来个嵌套循环就可以过。首先分组遍历,将 N \times K 个面包按从左到右的顺序每 K 个为一组。然后遍历每个面包组,统计每个面包组中 0 的数量。若某组中 0 的数量小于 P,则该组可销售。

代码

#include <bits/stdc++.h>
using namespace std;
int n,p,k,a[2510];
int main(){
    scanf("%d%d%d",&n,&k,&p);
    for(int i=0;i<n*k;i++) scanf("%d",&a[i]);
    int cnt=0;
    for(int i=0;i<n;i++){
        int sum=0; 
        for(int j=0;j<k;j++){
            if(a[i*k+j]==0) sum++;
        }
        if(sum<p) cnt++;
    }
    printf("%d",cnt);
    return 0;
}