当前位置: 首页 > news >正文

CCF-CSP认证 202104-2邻域均值

题目描述

思路

二维数组前缀和,画图解决,需要理清楚多增加的元素,本题索引应从1开始,相当于多增加一行和一列0元素,注意边界。

代码

C++版:

#include <bits/stdc++.h>

using namespace std;
const int N = 610;

int main(){
	int n,L,r,t;
	int res=0; // 统计结果 
	cin>>n>>L>>r>>t; // 图像长宽,元素值范围上限,附近元素泛围,所有附近元素的平均值小于或等于的阈值 
//	vector<vector<int> > A(n+1,vector<int>(n+1,0)); // 二维数组前缀和 
	int A[N][N];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			int x;
			cin>>x;
			A[i][j]=A[i-1][j]+A[i][j-1]+x-A[i-1][j-1];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			// 右下角,小心边界 
			int x1=min(n,i+r);
			int y1=min(n,j+r);
			// 左上角,小心边界 
			int x2=max(1,i-r);
			int y2=max(1,j-r);
			int sum=A[x1][y1]-A[x1][y2-1]-A[x2-1][y1]+A[x2-1][y2-1];
			int k=(x1-x2+1)*(y1-y2+1); // 元素数量 
			if(sum<=k*t) res++;

		}
	}
	cout<<res;
	
	return 0;
}

相关文章:

  • 【js逆向】
  • 牛客周赛:84:C:JAVA
  • 亚信安全发布第七期《勒索家族和勒索事件监控报告》
  • 以太网基础Vlan划分实验
  • C++学习之QT综合项目二经典翻金币小游戏及打包
  • 【LeetCode合并区间C++实现】【c++】【合并区间】
  • javase集合框架List篇
  • ds回答 什么是数据召回
  • 【数据结构】二叉搜索树、平衡搜索树、红黑树
  • 【初探数据结构】带环链表:原理、判断与数学证明
  • 使用 Switch Plus 将 ADTS 文件转为 MP3 格式简单教程
  • 「mysql」Mac mysql一路畅通式安装
  • Linux基础开发工具—vim
  • 【JavaEE】SpringBoot快速上手,探秘 Spring Boot,搭建 Java 项目的智慧脚手架
  • 软件工程:软件开发之需求分析
  • volatile限定符
  • XXE靶机详细通关攻略(flag)
  • 订阅指南:用关键指标驱动业务增长
  • 小白学Agent技术[5](Agent框架)
  • Java多线程编程实战:synchronized与Lock锁对比
  • 看着不爽就滚蛋!郑州大学第一附属医院一科室公众号被曝运营人员辱骂他人
  • 国羽3比0横扫日本晋级苏迪曼杯决赛,将战韩国与印尼胜者
  • 五一假期前两日,多地党政主官暗访景点、商圈安全工作
  • 山西太原一小区发生爆炸,太原:进一步深刻汲取教训
  • “五一”假期首日迎出游高峰:火车站人流“堪比春运”,热门景区门票预订量同比增三成
  • 今年五一假期出游人群规模预计比去年提升8%,哪里最热门?