CCF CSP 201912-2 回收站选址 C++实现

CCF CSP 201912 回收站选址 问题描述 试题编号: 201912-2 试题名称: 回收站选址 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目描述: 学校内有n处垃圾,给定n处垃圾的坐标(xi,yi)。 若垃圾A处的上下左右四处也存在垃圾,则A处可以被选为垃圾回收站,每个垃圾回收站还有四个位置:左上,左下,右上,右下,这四处每有一处存在垃圾,... 阅读详情

在这里插入图片描述
在这里插入图片描述
样例1输入:

7

1 2
2 1
0 0
1 1
1 0
2 0
0 1

输出数据:

0
0
1
0
0

样例2输入:

2

0 0
-100000 10

输出数据:

0
0
0
0
0

样例3输入:

11

9 10
10 10
11 10
12 10
13 10
11 9
11 8
12 9
10 9
10 11
12 11

输出数据:

0
2
1
0
0

思路

建立一个set结构,来存储垃圾的位置(位置就是一个 pair<int,int>(x,y) )。之后,我们遍历每一个垃圾,建立一个find函数,对垃圾上下左右位置判断是否有垃圾,即判断set结构中是否存储了垃圾上下左右的位置,然后返回true或者false,如果为true,即可以建立回收站。
之后建立add函数,我们继续对垃圾的四个对角位置进行判断,即set结构中输入垃圾的四个对角位置判断是否存在,从而来得出分数,把分数存储到一个数组a[i] 中,最后再输出数组,即为答案。

#include <iostream>
#include<cstdio>
#include<set>
using namespace std;


set<pair<int, int>> s;
int find(int x,int y) {
	if (s.count(pair<int, int>(x + 1, y)) == 0) {
		return false;
	}
	else if (s.count(pair<int, int>(x - 1, y)) == 0) {
		return false;
	}
	else if (s.count(pair<int, int>(x, y + 1)) == 0) {
		return false;
	}
	else if (s.count(pair<int, int>(x, y - 1)) == 0) {
		return false;
	}
	return true;
}

int add(int x,int y) {

	int w= 0;
	if (s.count(pair<int, int> (x + 1, y+1)) != 0) {
		w++;
	}
	if (s.count(pair<int, int>(x + 1, y -1)) != 0) {
		w++;
	}
	if (s.count(pair<int, int>(x - 1, y + 1)) != 0) {
		w++;
	}
	if (s.count(pair<int, int>(x - 1, y - 1)) != 0) {
		w++;
	}
	return w;
}



int main()
{
	int n;
	cin >> n;
	int x, y;
	pair<int, int>p[1200];

	for (int i = 0; i < n; i++) {
		cin >> x >> y;

		p[i].first = x;
		p[i].second = y;
		s.insert(p[i]);
	}
	int a[5];
	for (int i = 0; i < 5; i++) {
		a[i] = 0;
	}
	for (int i = 0; i < n; i++) {
		if (find(p[i].first,p[i].second)) {
			if (add(p[i].first,p[i].second) == 0) {
				a[0]++;
			}
			else if (add(p[i].first, p[i].second) == 1) {
				a[1]++;
			}
			else if (add(p[i].first, p[i].second) == 2) {
				a[2]++;
			}
			else if (add(p[i].first, p[i].second) == 3) {
				a[3]++;
			}
			else if (add(p[i].first, p[i].second) == 4) {
				a[4]++;
			}
		}

	}
	for (int i = 0; i < 5; i++) {
		cout << a[i] << endl;
	}



	return 0;
}
CCF 201912-2 回收站选址(100分) 题库链接:https://blog.youkuaiyun.com/weixin_43905586/article/details/88404105 测试链接:http://cspro.org/ 问题描述 试题编号: 201912-2 试题名称: 回收站选址 时间限制: 1.0s 内存限制: 512.0MB 鄙人拙见: 先判断输入的哪几个点为回收站,... 阅读详情

相关推荐

CCF-CSP 201912 赛题训练

甲乙丙丁决定玩一个报数的游戏。游戏规则为四个人从 1 开始轮流进行报数,但如果需要报出的数是 7 的倍数或含有数字 7 则直接跳过。此外大家约定,在总共报出了 n 个数后(不计入被跳过的)游戏结束。统计游戏过程中每个人各自跳过了几次。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 353

CCF CSP 回收站选址 C++

回收站选址 定义结构体存放坐标和判断是否为垃圾站的变量和得分变量,输入所有坐标,刷新结构体内变量的值,最后通过nearRubbish和score判断是否为垃圾站并输出不同得分的垃圾站数目 #include<bits/stdc++.h> using namespace std; struct Rubbish{ //定义一个结构体,x,y,存放坐标,nearRubbish记录上下左右的垃圾数,score记录对角的垃圾数 int x; int y; int nearRubbish = 0;

Alfrank的博客 1034

本地部署ComfyUI:开源AI生图与视频生成完整实战指南

在生成式AI应用快速普及的今天,云端工具常受制于排队、积分和素材管理等问题,而本地化部署正成为开发者与创作者的高效替代方案。其核心思路是基于开源工作流引擎,将图像生成、视频生成与后期处理整合到同一套可离线运行的系统中。ComfyUI作为当前最受关注的节点式工作流平台,凭借灵活的模块组合和强大的自定义能力,降低了从图像模型调用到视频扩展的工程门槛。本文从环境配置与依赖安装入手,系统讲解如何部署ComfyUI、加载Checkpoint模型、跑通文生图基础流程,再通过自定义节点接入视频生成能力,同时介绍API批量

weixin_30985047的博客 568

CSP CCF: 201912-2 回收站选址 (C++)

目录题目来源步骤代码 题目来源 回收站选址 步骤 存储n个垃圾点的位置 数据存储格式: set< pair< int, int> > locatiion: {(x1x_1x1​, y1y_1y1​), (x2x_2x2​, y2y_2y2​), …, (xnx_nxn​, yny_nyn​)} 存储0、1、2、3、4各分值的回收站选址个数 数据存储格式:int score[5]; 循环遍历每个垃圾点的位置, 首先判断正四方(正东、正西、正南、正北)是否都存在垃圾点,若都存在垃圾

qq_45936312的博客 693

菜鸟-需求预测与分仓规划

通过修改模型的损失函数对问题进行求解,比其它单模型的效果好很多。

永不理解_fdu的博客 4881

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 431

CCF试题编号201912-2回收站选址(Dev-CPP C++语言100分)

试题编号: 201912-2 试题名称: 回收站选址 时间限制: 1.0s 内存限制: 512.0MB 问题描述: /* date:2020/1/30 * project:ccf 2019/12/2 * time consuming:90min * result...

TIAN妹的博客 1279

uniapp - 超详细的 H5 公众号网页微信登录示例代码,提供从 0-1 公众号配置及详细注释代码(站在新手小白的角度)第三方微信授权登录的实现!!

uniapp微信浏览器H5授权微信登录,UniApp开发H5接入微信登录的全过程,uniapp的H5页面使用微信登录,uniapp H5微信授权登录,H5之微信授权登陆 (uniapp网页版微信授权登录),uni-app开发H5第三方微信授权登录的实现,uniapp如何实现微信授权登录,公众号H5页面接入微信登录流程,uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级

✅ 精选推荐文章 1万+

CCF CSP 201912-2 回收站选址【C++11 multimap】

试题编号: 201912-2 试题名称: 回收站选址 时间限制: 1.0s 内存限制: 512.0MB 水题,仅作记录 思路:multimap #include <map> #include <iostream> using namespace std; multimap<int, int> ma...

u011656287的博客 276

手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理

《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。

MHD0815的博客 739

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

【CCF CSP历年考试带注释全题解 C++版】201912-2 回收站选址

#include <iostream> #include <vector> #include <cmath> using namespace std; int main() { int n; cin >> n; vector<vector<int>> bin(n, vector<int>(2)); ...

weixin_42002822的博客 698

Opencv项目实战:20 单手识别数字0到5

今天要做的是单手识别数字0到5,通过在窗口展示,实时的展示相应的图片以及文字。在这里,我提供一下识别更多数字的方法(0-10)。首先最简便的是双手识别,完全不用更改代码,把图片处理好就行了;其次,就是按照最上面的那张图片,参数figureup是一个长度为5的列表[0,0,0,0,0],你可以参照着手势将其打印出来,然后将其用if条件判断。当然,在我们这边最常见的还是华北手势表示数字,大家按照自己的习惯来就行。

m0_62919535的博客 2877

CCF CSP-201912-2 回收站选址(C++)

#include <cstdio> struct Point{ int x,y; }; bool isljhave(Point p1, Point p2){ if((p2.x==p1.x && p2.y==p1.y+1) || (p2.x==p1.x && p2.y==p1.y-1) || (p2.x==p1.x+1 && p2.y==p1.y) || (p2.x==p1.x-1 && p2.y==p1.y)){ ...

weixin_45964844的博客 281

用一套可追溯的闭环,把设备变成可管理的资产:SAP S/4HANA Asset Management 模块详解

摘要:SAP S/4HANA的资产管理模块(EAM)通过标准化流程管理企业资产全生命周期,解决资产状态、需求和资源的不确定性。系统将资产抽象为技术对象,支持纠正性和预防性维护流程,通过维护工单实现可执行的工作包,并与物料管理、财务、生产计划等模块集成形成管理闭环。该模块可帮助降低非计划停机时间,通过数据驱动决策优化维护策略,提升资产可用率和运营效率。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 252

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ccf-csp #201912-2 回收站选址

得分:100 ,用时:15ms

Veggie的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CCF CSP201912-2 回收站选址(c++100)

CCF CSP201912-2 回收站选址 看测试用例约定发现暴力法并不会超时 #include<iostream> #include<vector> using namespace std; struct Node{ int x,y; }node; vector<Node>G,V; int ans[5]; int main(){ int n; cin>>n; for(int i = 0; i < n; i++){ cin>>n

qq_44091681的博客 272

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CCF CSP 201912-2 回收站选址 垃圾站选址 【Python版】

[题目背景] 开学了,可是校园里堆积了不少垃圾杂物。 热心的同学们纷纷自发前来清理,为学校注入正能量~ [题目描述] 通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i (1≤i≤n) 处的坐标为(x, y;),保证所有的坐标均为整数。 我们希望在垃圾集中的地方建立些回收站。具体来说,对于-一个位置(x,y)是否适 合建立回收站,我们主要考虑以下几点: ●(x,y)必须是整数坐标,且该处存在垃圾; ●上下左右四个邻居位置,即(x,y+ 1)、 (x,y-1)、 (x+ 1,y和(x-1,y)处,必

江南蜡笔小新 1411

CCF-CSP认证历年真题解(100分)

转载: 链接出自:https://blog.youkuaiyun.com/tigerisland45/article/details/54755895 CCF-CSP认证历年真题解–python语言 CCF-CSP认证历年真题解–Java语言 C/C++语言: 2019.12 第18次: CCF201912-1 报数(100分)【模拟】 CCF201912-2 回收站选址(100分)【序列处理】 2019.09 第17次: CCF201909-1 小明种苹果(100分)【序列处理】 CCF201909-2 小明种苹果(

追梦鸟 3万+

CCF CSP认证考试201912题解(1,2,3,4)

【缘起】 从acm退役十个月了,目前正在准备研究生复试,其中机试部分与CCF题目相仿,所以练习一下CCFSCP往届题目。记一下题解,一是加深印象,二是希望对其他考研人有所帮助。 【题目来源】 http://www.cspro.org/ 进入后点击报名入口,注册or登录,然后右上角有个模拟考试,点击去会看到95道往届CCFCSP认证真题。以下题解按考试日期编号。由于官网题面给的...

雪的期许 2076

CCF-CSP 201912-2 回收站选址

201912-2 回收站选址 题目链接-201912-2 回收站选址 解题思路 附上代码 #include<bits/stdc++.h> #define int long long #define lowbit(x) (x &(-x)) using namespace std; const int INF=0x3f3f3f3f; const int dir[4][2]={-1...

Fiveneves的博客 247

CCF-CSP 201912-2 回收站选址 [c++]

CCF-CSP 201912-2 回收站选址 文章目录CCF-CSP 201912-2 回收站选址题目描述思路代码 题目描述 CCF-CSP 201912-2 回收站选址 思路 总之就是很丑陋的一题,暴力就完事。数据量不大,两层循环搞定。 代码 #include <iostream> #include <vector> using namespace std; class Node{ public: int x,y; Node(int a, int b

xbr_1111的博客 225

CCF-CSP 201912-2回收站选址

回收站选址 #include <bits/stdc++.h> using namespace std; int ans[6]; map <pair<int , int>, int> g;//垃圾的位置 int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i...

Adolphrocs的博客 639

CCF-CSP C/C++ 201912-2 回收站选址 题解

CCF-CSP C/C++ 201912-2 回收站选址 题解 一、题目描述 1、背景 开学了,可是校园里堆积了不少垃圾杂物。 热心的同学们纷纷自发前来清理,为学校注入正能量~ 通过无人机航拍我们已经知晓了 n 处尚待清理的垃圾位置,其中第 i(1≤i≤n) 处的坐标为 (xi,yi),保证所有的坐标均为整数。 我们希望在垃圾集中的地方建立些回收站。 具体来说,对于一个位置 (x,y) 是否适合建立回收站,我们主要考虑以下几点: (x,y) 必须是整数坐标,且该处存在垃圾; 上下左右四个邻居位置,即 (x

DonquixoteXXXXX的博客 401

CCF CSP入坑指南 (含难度分析 试题目录及答案 部分答案有解析更新至201912 包含全部前四道题解及小部分第五题解)

第一题 基础数据处理,包括大小比较、计数、排序,不超过一层的for循环。 第二题 递推,排序,不超过三层的for循环。 第三题 字符串处理,递推,考查数据结构构造能力,不超过三层的for循环。 第四题 动态规划,贪心算法,图论最短路径,最小生成树等。 第五题 网络流,图论,字符串,考查数据结构构造能力,以及非常人的随机应变能力。 ...

宋旭升的博客 6万+

#CSP 201912-2 回收站选址(C语言)(100分)

题目 开学了,可是校园里堆积了不少垃圾杂物。 热心的同学们纷纷自发前来清理,为学校注入正能量~ 通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i(1<=i<=n)处的坐标为(x,y),保证所有的坐标均为整数。 我们希望在垃圾集中的地方建立些回收站。具体来说,对于一个位置(x, y)是否适合建立回收站,我们主要考虑以下几点: (x, y)必须是整数坐标,且该处存在垃圾:上下左...

Running Snail 3491
上一篇: CCF CSP 201503-2 数字排序 C++实现
下一篇: CCF CSP 201609-2 火车购票 C++实现 100分
木禾DING
博客等级 码龄8年 191粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值