分析

后面的数据,坐标分布太离散,不能用一个二位数组来模拟垃圾分布。因此,考虑用一个数组记录每个垃圾点的位置。

  1. 先根据x坐标、再根据y坐标进行排序。
  2. 再遍历数组中的每一处垃圾点,判断其是否能建回收站(相邻处有无垃圾),在判断对角线的垃圾点数目

    判断的过程中,可以用二分查找减少查找时间,毕竟已经排好序了。
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <algorithm>
using namespace std;
class pos{
public:
int x, y; pos(){ }
pos(int _x, int _y){
x = _x;
y = _y;
}
bool operator==(const pos a){
if(a.x == x && a.y == y) return true;
else return false;
} bool operator<(const pos a) const{
if(x < a.x)
return true;
else if(x == a.x){
if(y < a.y)
return true;
else
return false;
}
else
return false;
} }; int n;
pos a[1002];
int num[5];
int dir1[4][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
int dir2[4][2] = {{1, 1}, {-1, 1}, {1, -1}, {-1, -1}}; int main(){
cin >> n;
int x = 0, y = 0;
for(int i = 0;i < n; i++){
scanf("%d %d", &x, &y);
a[i] = pos(x, y);
}
sort(a, a + n); for(int i = 0; i < n; i++){
int flag = 0;
for(int j = 0; j < 4;j++){
flag += binary_search(a, a + n, pos(a[i].x + dir1[j][0], a[i].y + dir1[j][1]));
} if(flag == 4){
flag = 0;
for(int j = 0; j < 4;j++){
flag += binary_search(a, a + n, pos(a[i].x + dir2[j][0], a[i].y + dir2[j][1]));
}
num[flag]++;
} } for(int i = 0;i < 5; i++){
cout << num[i] << endl;
}
return 0;
}

CCF认证 2019-12-3的更多相关文章

  1. 第十八次CSP认证游记 | 2019.12.15

    CSP认证的考试是Haogod介绍的,取得一定成绩之后能有机会参加CCSP的分赛区和全国决赛.这次来参加认证要感谢老师的奔走为我们申请学校的报销,虽然最终因为这不是比赛所以报名费和差旅费下不来,但是老 ...

  2. 小明种苹果(续)第十七次CCF认证

    小明种苹果(续)第十七次CCF认证 题目 原题链接 ](http://118.190.20.162/view.page?gpid=T93) 很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是 ...

  3. NOI2019退役记 upd:2019.12.1

    (我把原来写的东西全部删掉了) AFO. 我退役了,\(\mbox{yyb}\)退役了. 至少,在接下来的日子里,我得投身到文化课,度过快乐的高三生活了. 这两年的\(OI\)生涯给了我很多,让我学会 ...

  4. CCF认证历年试题

    CCF认证历年试题 不加索引整理会死星人orz 第一题: CCF201712-1 最小差值(100分) CCF201709-1 打酱油(100分) CCF201703-1 分蛋糕(100分) CCF2 ...

  5. IDEA下将dubbo简单项目跑Demo(2019.12版)

    项目架构(聚合项目,父子模块) src没用,所以删去 选择maven项目,不用勾选模板骨架,直接main方法,因为不用到服务器 顺序是按照:添加pom依赖-接口实现类-配置文件 项目环境 IDE:In ...

  6. ISTQB认证测试工程师基础大纲(2019.12.25)

    1.本文档目的: 用于生成认证测试员基础级考试题. 本大纲中除了简介和附录外,考核通常包含了所有K1级别的内容,因此,应试者可能会被考到本大纲中要求识别,牢记,或记忆的关键词或概念.在本大纲中,每章开 ...

  7. [转]CISP(注册信息安全专业人员)认证(12天)

    本文转自:http://www.topsec.com.cn/shpx/rzpx/pxkc/cisp/index.htm CISP(注册信息安全专业人员)认证(11天) 中国信息安全产品测评认证中心(C ...

  8. 2019.12.11 java程序中几种常见的异常以及出现此异常的原因

    1.java.lang.NullpointerException(空指针异常) 原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象. 经常出现在创建对 ...

  9. 2019.12.11 java数组练习

    class AmHW { public static void main(String[] args) { /* 统计一个公司三个销售小组中每个小组的总 销售额以及整个公司的销售额.如下所示 第一小组 ...

  10. 2019.12.07 java基础

    编译时报错,叫做编译失败 class Demo01 { public static void main(String[] args) { int a; a=12; System.out.println ...

随机推荐

  1. php 扩展引入

    继承引入参数 <?php class A { private $name; private $age; private $time; public function __construct($n ...

  2. bzoj3531: [Sdoi2014]旅行 (树链剖分 && 动态开点线段树)

    感觉动态开点线段树空间复杂度好优秀呀 树剖裸题 把每个宗教都开一颗线段树就可以了 但是我一直TLE 然后调了一个小时 为什么呢 因为我 #define max(x, y) (x > y ? x ...

  3. xml配置文件中对于Shiro 权限管理filterChainDefinitions过滤器配置

    博客转载:http://blog.csdn.net/userrefister/article/details/47807075 /** * Shiro-1.2.2内置的FilterChain * @s ...

  4. php基础扫盲

    .

  5. Hibernate第三天-Hibernate主配置信息

    今天是学习Hibernate的第三天,主要分析一下Hibernate的配置文件中的信息 Hibernate中的配置文件有两种,第一种是主配置文件hibernate.cfg.xml,第二种是映射配置文件 ...

  6. Android学习10

    SharedPreferences 今天练习了利用SharedPreferences保存登录用户名密码: layout布局: <?xml version="1.0" enco ...

  7. php的str_pad()函数

    实例 填充字符串的右侧,到30个字符的新长度 <?php $str = "Hello World"; echo str_pad($str,30,"."); ...

  8. 一些 乱码 GPU的问题

    # # s = '网站地图' 原始 # s1 = s.encode('utf-8') # print(s1.decode('gbk')) #res 缃戠珯鍦板浘 # s = '缃戠珯鍦板浘' 原始 # ...

  9. ElementUI+Vue在使用el-dialog时,如何做到在弹出dialog时,外部呈锁定状态,而不是点击外部导致dialog直接关闭。

    ElementUI+Vue在使用el-dialog时,如何做到在弹出dialog时,外部呈锁定状态,而不是点击外部导致dialog直接关闭. 问题描述 今天,在做Element+Vue项目时发现:Di ...

  10. Hadoop3.1.1源码Client详解 : 入队前数据写入

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 紧接着上一篇: Hadoop3.1.1源码Client详解 : 写入准备-RPC调用与流的建立 先给出 ...