CCF201912-2 回收站选址
试题编号: | 201912-2 |
试题名称: | 回收站选址 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述:
解题思路:
因为坐标范围很大,但是点的数据不多,所以用二维数组来存储坐标这个图是行不通的。
这里选择用map和pair结合使用来存储图:map<pair<int,int>,int> mp;
再用一个结构体来保存输入的数据,输入之后从头到尾遍历一遍每个数据即可得到答案~
复杂度很低。
对于判断和计数分别用两个函数简单模拟实现即可~~~
解题代码:
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<algorithm>
#include<map>
using namespace std;
int n,ans[5];
map<pair<int,int>,int> mp;
struct node{int x,y;
}nd[1002];
bool judge(int x,int y){ //判断是否满足if((mp[make_pair(x,y+1)] == 1) && (mp[make_pair(x,y-1)] == 1) && (mp[make_pair(x+1,y)] == 1) && (mp[make_pair(x-1,y)] == 1)) return true;return false;
}
int sum(int x,int y){ //求数量int cnt = 0;if((mp[make_pair(x+1,y+1)] == 1)) cnt++;if((mp[make_pair(x+1,y-1)] == 1)) cnt++;if((mp[make_pair(x-1,y+1)] == 1)) cnt++;if((mp[make_pair(x-1,y-1)] == 1)) cnt++;return cnt;
}
int main(){scanf("%d",&n);int a,b;for(int i = 0; i < n; i++){scanf("%d%d",&a,&b);mp[make_pair(a,b)] = 1; //保存坐标图的方式nd[i].x = a;nd[i].y = b;}for(int i = 0; i < n; i++){ //对于每个有垃圾的点进行判断并求数if(judge(nd[i].x,nd[i].y))ans[sum(nd[i].x,nd[i].y)]++;}for(int i = 0; i < 5; i++)printf("%d\n",ans[i]);return 0;
}
CCF201912-2 回收站选址相关推荐
- CSP 201912-2 回收站选址 python实现+详解
试题 代码 # 读入点的个数 n = int(input())# 创建字典,键为点的坐标,值为true,存放所有点 dict = {} for i in range(n):x, y = [int(m) ...
- #CSP 201912-2 回收站选址(C语言)(100分)
题目 开学了,可是校园里堆积了不少垃圾杂物. 热心的同学们纷纷自发前来清理,为学校注入正能量~ 通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i(1<=i<=n)处的坐标为(x ...
- CCF201912-2 回收站选址(100分)【序列处理】
回收站选址 [提示] 本题中所涉及的坐标皆为整数,且保证输入的坐标两两不同. 问题链接:CCF201912-2 回收站选址 问题分析: 坐标值范围比较大,而且坐标有可能是负数,难以用矩阵来存储 ...
- CCF- CSP 201912-2回收站选址 巧用STL实现O(n)时间复杂度 满分题解
CCF- CSP 201912-2回收站选址 巧用STL实现O(n)时间复杂度 满分题解 题目链接:201912-2回收站选址 思路: 坐标最大可达到109,采用long long 类型,n最大到10 ...
- ccf-csp #201912-2 回收站选址
题目思路 这道题是一道非常典型的CCF-CSP认证前两题的题目,主要考察对二维坐标的标记和对标记的查询. 把输入的点全部利用数组存储起来,然后对所有的点进行位置标记.接着,我们去按顺序访问所有有垃圾的 ...
- 第18次csp认证 201912-2 回收站选址(C++)
题目 分析 每一个垃圾堆放处都可能是回收站,所以两轮循环,找出所有可以成为回收站的坐标. 再两轮循环,确定所有回收站的得分 最后输出每种得分的回收站个数 AC代码 #include <iostr ...
- CCF-CSP 201912-2 回收站选址(python实现)
题源来自---CCF计算机职业资格认证官网,点击报名入口,可进行模拟考试进行练习.代码在最后. 代码 看到网上有一些代码思路是把坐标点记录在列表中,对于每一次判断是否上下左右都有垃圾时用in判断,也是 ...
- 【CCF 201912-2】 回收站选址(两种方法)
法一 #include <iostream> using namespace std;#define x first #define y secondtypedef pair<int ...
- 201912-2 回收站选址(stl方法,很巧妙)
#include <cstdio> #include <map> typedef long long ll; using namespace std; //考虑到数组太大 ,坐 ...
最新文章
- 多模态任务新蓝海:视觉语言导航最新进展
- 【视频课】零基础免费38课时深度学习+超60小时CV核心算法+15大Pytorch CV实践案例助你攻略CV...
- Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。
- 最近面试一些厂的面经整理(阿里,腾讯,字节等)
- 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
- PowerBI 秒级实时大屏展示方案 全面助力双十一
- CNN tensorflow 人脸识别
- insert into 时间_值得花点时间背记的out of有关短语
- cocos2dx视频教程进阶篇--第1天--吃西瓜游戏。
- REPERTOIRE: CD
- 实现Excel实现下拉框选择对应的数据(数据验证)
- 程序员新电脑常用软件安装
- Reincarnation HDU - 4622
- 用python绘制用例图源代码_用Visio画UML用例图
- springboot 实现 订单 和 微信扫码支付 功能
- 《Linux操作系统-系统移植》第12章 5G模组移植-第1节 中移物联5G移植(PPP拨号)
- c语言n层文字塔程序的结构图,精馏塔中由塔顶向下的第n-1,n,n+1层塔板,其气相组成关系为( )...
- Psychopy | 第2期:从Stroop看条件与循环
- html保留数据库文本格式,以html格式显示数据库中的格式化文本(FLASK应用程序)...
- IMX6q ft5x0x_ts触摸芯片分析
热门文章
- Vue中computed分析
- android图片分辨率改变,android 通过修改图片像素实现CircleImageView
- python 行为驱动_什么是行为驱动的Python?
- (18) HTML面试题集锦2
- 前端:JS/18/JS运算符(算术运算符,赋值运算符,字符串运算符,比较运算符,逻辑运算符,三元运算符),window.prompt()
- 第十九章:李丽质入狱
- Bootstrap 排版h1~h6标题
- python center函数_数据类型和数据结构(三):字符串(4) 字符串内置函数(1)
- 从底层分析c和类c语言
- 清翔电子单片机原理图stc89c52_1000. 电子编程入门到工程师--从看得到开始