试题编号: 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 回收站选址相关推荐

  1. CSP 201912-2 回收站选址 python实现+详解

    试题 代码 # 读入点的个数 n = int(input())# 创建字典,键为点的坐标,值为true,存放所有点 dict = {} for i in range(n):x, y = [int(m) ...

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

    题目 开学了,可是校园里堆积了不少垃圾杂物. 热心的同学们纷纷自发前来清理,为学校注入正能量~ 通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i(1<=i<=n)处的坐标为(x ...

  3. CCF201912-2 回收站选址(100分)【序列处理】

    回收站选址 [提示] 本题中所涉及的坐标皆为整数,且保证输入的坐标两两不同. 问题链接:CCF201912-2 回收站选址 问题分析:     坐标值范围比较大,而且坐标有可能是负数,难以用矩阵来存储 ...

  4. CCF- CSP 201912-2回收站选址 巧用STL实现O(n)时间复杂度 满分题解

    CCF- CSP 201912-2回收站选址 巧用STL实现O(n)时间复杂度 满分题解 题目链接:201912-2回收站选址 思路: 坐标最大可达到109,采用long long 类型,n最大到10 ...

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

    题目思路 这道题是一道非常典型的CCF-CSP认证前两题的题目,主要考察对二维坐标的标记和对标记的查询. 把输入的点全部利用数组存储起来,然后对所有的点进行位置标记.接着,我们去按顺序访问所有有垃圾的 ...

  6. 第18次csp认证 201912-2 回收站选址(C++)

    题目 分析 每一个垃圾堆放处都可能是回收站,所以两轮循环,找出所有可以成为回收站的坐标. 再两轮循环,确定所有回收站的得分 最后输出每种得分的回收站个数 AC代码 #include <iostr ...

  7. CCF-CSP 201912-2 回收站选址(python实现)

    题源来自---CCF计算机职业资格认证官网,点击报名入口,可进行模拟考试进行练习.代码在最后. 代码 看到网上有一些代码思路是把坐标点记录在列表中,对于每一次判断是否上下左右都有垃圾时用in判断,也是 ...

  8. 【CCF 201912-2】 回收站选址(两种方法)

    法一 #include <iostream> using namespace std;#define x first #define y secondtypedef pair<int ...

  9. 201912-2 回收站选址(stl方法,很巧妙)

    #include <cstdio> #include <map> typedef long long ll; using namespace std; //考虑到数组太大 ,坐 ...

最新文章

  1. 多模态任务新蓝海:视觉语言导航最新进展
  2. 【视频课】零基础免费38课时深度学习+超60小时CV核心算法+15大Pytorch CV实践案例助你攻略CV...
  3. Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。
  4. 最近面试一些厂的面经整理(阿里,腾讯,字节等)
  5. 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
  6. PowerBI 秒级实时大屏展示方案 全面助力双十一
  7. CNN tensorflow 人脸识别
  8. insert into 时间_值得花点时间背记的out of有关短语
  9. cocos2dx视频教程进阶篇--第1天--吃西瓜游戏。
  10. REPERTOIRE: CD
  11. 实现Excel实现下拉框选择对应的数据(数据验证)
  12. 程序员新电脑常用软件安装
  13. Reincarnation HDU - 4622
  14. 用python绘制用例图源代码_用Visio画UML用例图
  15. springboot 实现 订单 和 微信扫码支付 功能
  16. 《Linux操作系统-系统移植》第12章 5G模组移植-第1节 中移物联5G移植(PPP拨号)
  17. c语言n层文字塔程序的结构图,精馏塔中由塔顶向下的第n-1,n,n+1层塔板,其气相组成关系为( )...
  18. Psychopy | 第2期:从Stroop看条件与循环
  19. html保留数据库文本格式,以html格式显示数据库中的格式化文本(FLASK应用程序)...
  20. IMX6q ft5x0x_ts触摸芯片分析

热门文章

  1. Vue中computed分析
  2. android图片分辨率改变,android 通过修改图片像素实现CircleImageView
  3. python 行为驱动_什么是行为驱动的Python?
  4. (18) HTML面试题集锦2
  5. 前端:JS/18/JS运算符(算术运算符,赋值运算符,字符串运算符,比较运算符,逻辑运算符,三元运算符),window.prompt()
  6. 第十九章:李丽质入狱
  7. Bootstrap 排版h1~h6标题
  8. python center函数_数据类型和数据结构(三):字符串(4) 字符串内置函数(1)
  9. 从底层分析c和类c语言
  10. 清翔电子单片机原理图stc89c52_1000. 电子编程入门到工程师--从看得到开始