2020 美团笔试 幸运星 C++

题目描述

一个二维平面,有n个坐标点,如果有一个点它的正上,正下,正左,正右都有其他的点(不一定相邻),则这个点就是幸运星,求有多少个幸运星。

输入:

输入第一行包含一个数n
接下来n行,每行两个整数x,y代表这个坐标点的经纬度。
(n<=2000, -1000<=xi,yi<=1000,没有坐标点是相同的)

输出:

输出一个数,即有多少颗幸运星。

样例输入:
8
0 0
0 1
0 2
0 3
1 1
1 2
-1 1
-1 2
样例输出:
2
提示:

有两颗幸运星,分别是(0,1)(0, 2)

C++

#include <iostream>
#include <algorithm>
#include <set>using namespace std;int n;
struct point {int x, y;bool l, r, u, d;  // left right up down 四个方向point() {l = r = u = d = false;}point(int _x, int _y){  // 初始化x = _x;y = _y;l = r = u = d = false;}int cal() {return l && r && u && d;}
};point p[2005];  // 保存坐标点bool cmpx(const point &a, const point &b){return a.x < b.x;
}bool cmpy(const point &a, const point &b){return a.y < b.y;
}int main()
{// inputcin >> n;for (int i = 0; i < n; i++) {cin >> p[i].x >> p[i].y;}sort(p, p+n, cmpx);set<int> Set;// 排序按X轴从小到大,左到右遍历,如果该点的y已经存在,则判断该坐标点的left为truefor (int i = 0; i < n; i++) {if (Set.find(p[i].y) != Set.end()) {p[i].l = true;}Set.insert(p[i].y);}Set.clear();// 排序按X轴从小到大,右到左遍历,如果该点的y已经存在,则判断该坐标点的right为truefor (int i = n - 1; i >= 0; i--) {if (Set.find(p[i].y) != Set.end()) {p[i].r = true;}Set.insert(p[i].y);}Set.clear();sort(p, p+n, cmpy);for (int i = 0; i < n; i++){if (Set.find(p[i].x) != Set.end()) {p[i].d = true;}Set.insert(p[i].x);}Set.clear();for (int i = n - 1; i >= 0; i--) {if (Set.find(p[i].x) != Set.end()) {p[i].u = true;}Set.insert(p[i].x);}Set.clear();int ans = 0;for (int i = 0; i < n; i++) {ans += p[i].cal();}cout << ans << endl;return 0;
}

2020 美团笔试 幸运星 C++相关推荐

  1. 2020美团笔试题目:送餐小区数量

    2020美团笔试题目:送餐小区数量 题目:现在有n个订单,为了帮助送餐小哥增加送餐量,可以让送餐小哥将同一个小区的订单同时送过去,但是现在只有订单之间的关系,要通过订单之间的关系找找到有多少个小区,将 ...

  2. 2020美团笔试部分题解(4.9)

    美团笔试全是大题,还是比较适合我的,一共五题. 第一题 题意 给你一个日期包星期几以及时和分,然后一个时间n,问n分钟之前是星期几和几时几分. 分析 暴力一点,数据也不大,先算出当前的总分钟,然后减去 ...

  3. 2020美团面试真题解析

    2020美团面试真题解析 1.双链表找相交结点2.10亿数,找最大100个数3.synchronize 静态方法和普通方法4.ANR是什么,怎么解决 5.Activity生命周期,如何摧毁一个Acti ...

  4. 2020美团(开水团)面试题真题整理最新最全~持续更新中~~~

    大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员~ 如果我们每天关注互联网行业,也有心做程序员的话,我们可能进场会听到一些关键词:一东(时间单位),一度(市值单位,一个拼多多是几 ...

  5. 网易2020校招笔试 系统开发研发工程师(提前批)牛客练习 Apare_xzc

    网易2020校招笔试 系统开发研发工程师(提前批)练习 2020.9.4 10道选择,2道问答,4道编程 牛客链接<– 编程题: 1. 小易的英语软件 小易是班级的英语课代表, 他开发了一款软件 ...

  6. 2020美团秋招笔试题解

    1. T1 问题: 小团深谙保密工作的重要性,因此在某些明文的传输中会使用一种加密策略,小团如果需要传输一个字动串S,则他会为这个字符串添加一个头部字符串和一个尾部字符串.头部字符用满足至少包含一个& ...

  7. 美团点评2020校招笔试练习

    梯度消失产生的主要原因有:一是使用了深层网络,二是采用了不合适的损失函数. (1)目前优化神经网络的方法都是基于BP,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化.其中将 ...

  8. 美团点评2020校招笔试 2019.08.22

    算法方向 最长公共前缀 注:图片来源于网络. 参考LeetCode14. Longest Common Prefix. 字符串排序 注:图片来源于网络.代码能通过本地测试,未经完全测试,仅供参考. # ...

  9. 2020面试美团的朋友看过来,牛客网搜集整理2018—2020美团面筋需要的自行领取

    美团一面: 自我介绍 学校课程 计网:OSI七层模型 应用层协议了解多少 DNS和Http在什么层 TCP.UDP区别 一般在什么层操作 学校学过的语言 Java三大特性 怎么体现多态 private ...

最新文章

  1. [zz] 深入java虚拟机之本地方法
  2. 使用JDBC,完成对如下表的增删改查操作
  3. [读书笔记]Effective Java 第四章
  4. 主题:Hibernate/Spring/Struts架构使用OpenSessionInView的问题
  5. 学习Java笔记2018.3.31
  6. Mybatis根据IdType生成不同类型的主键id
  7. python和java先学哪个-Python和Java,哪个容易学呢?
  8. 用R和BioConductor进行基因芯片数据分析(四):芯片内归一化
  9. linux 程序崩溃 gdb调试coredump文件
  10. 现代控制理论 之 LQR控制
  11. 栅栏CyclicBarrier
  12. Google账号登录后直接跳转百度首页,登陆不上
  13. 每周分享第二期:人工智能对未来工作的影响
  14. csgo显示无法更新服务器,csgo更新无法连接服务器
  15. Android使用Startup和Lifecycle打造一个单独的测试module
  16. Drools基础语法
  17. Linux系统中如何查找大文件或目录文件夹的方法
  18. 2022 高德地图的使用 获取当前城市
  19. C#模拟鼠标操作以及键盘输入
  20. 石河子大学师生为荣获2018年“马云乡村教师奖”校友点赞

热门文章

  1. 华硕rt-n16无线打印服务器,无线打印好拍档华硕RT-N16赠照片打印机
  2. 为什么手机才用了一两年,电池容量就开始衰减了?
  3. html中块级元素并列,HTML的块级元素和内联元素
  4. [附源码]Python计算机毕业设计白酒营销管理Django(程序+LW)
  5. 《Android 应用案例开发大全(第3版)》——第2.8节壁纸中的着色器开发
  6. maven依赖加载失败的解决办法
  7. 鞣花酸爆增1226%?油橄榄、雪绒花大展拳脚? | 5月功效成分TOP100
  8. 福布斯:加密货币正准备从根本上改变金融
  9. 倒排索引 java_es倒排索引和正排索引(示例代码)
  10. MSP430的升级引导程序编写以及升级固件制作