目录

1、AcWing4309. 消灭老鼠

2、只有你自己不断进步,才能救赎自己!!!


1、AcWing4309. 消灭老鼠

题目通道

约翰的农场可以看作一个二维平面。

农场中有 n 个老鼠,在毁坏着农田。

第 i个老鼠的位置坐标为 (xi,yi)。

不同老鼠可能位于同一位置。

在 (x0,y0)处,装有一个双向发射的激光枪,该位置没有老鼠。

激光枪每次发射都可以将穿过点 (x0,y0)的某一条直线上的所有老鼠都消灭掉。

请问,为了消灭所有老鼠,至少需要激光枪发射几次。

输入格式

第一行包含三个整数 n,x0,y0,表示共有 n 只老鼠,激光枪的位置为 (x0,y0)。

接下来 n行,每行包含两个整数 xi,yi,表示第 i 只老鼠的位置为 (xi,yi)。

输出格式

一个整数,表示激光枪的最少发射次数。

数据范围

前 55 个测试点满足 1≤n≤5。
所有测试点满足 1≤n≤1000,−1e4≤xi,yi≤1e4。

输入样例1:

4 0 0
1 1
2 2
2 0
-1 -1

输出样例1:

2

输入样例2:

2 1 2
1 1
1 0

输出样例2:

1

题目疑问:

1,如何表示/储存数据

2,怎样完整求到答案 

 题目分析:

1,因为此题涉及到了整个坐标问题,所以用二维数组求解会非常的麻烦,那么我们就要想其他的办法,题目中“激光枪每次发射都可以将穿过点 (x0,y0)的某一条直线上的所有老鼠都消灭掉”,那么我们就可以利用斜率来求了。有几个不同的斜率,我们就需要发射激光几次,这样就求的答案了。

2,求斜率我们不能直接用坐标相除,因为可能会出现无穷的结果,其实我们也可以坐标化到最简,最终坐标相同的,斜率也会相同,我们用set储存最简坐标S.insert({x,y}); //储存不同的斜率

知识点:STL set,最大公约数, 

#include <bits/stdc++.h>
#include <algorithm>
#include <set>
#define x first           //运用pair<>的标准模板
#define y second
using namespace std;
typedef pair<int,int>PII;//定义pair<>,它的作用是可以储存(x,y)这样的点
set<PII> S;              //用set容器储存
int n,x2,y2;
int gcd(int a,int b)     //求最大公约数模板
{return b?gcd(b,a%b):a;
}
int main(){scanf("%d%d%d",&n,&x2,&y2);while(n--){int x,y;scanf("%d%d",&x,&y);x-=x2,y-=y2;     //将(x,y)置于原点int d=gcd(x,y);  //x/=d,y/=d;       //化简约分if(x<0)x=-x,y=-y;//将左半部的坐标映射到右半部分,因为题目中“激光枪每次发射都可以将穿过点 (x0,y0)//的某一条直线上的所有老鼠都消灭掉”S.insert({x,y}); //储存不同的斜率}cout<<(int)S.size(); //return 0;
}

2、只有你自己不断进步,才能救赎自己!!!

AcWing4309. 消灭老鼠相关推荐

  1. swustoj289消灭老鼠-利用队列解决简单的约瑟夫环

    *289: 程序设计C 实验三 题目九 消灭老鼠 题目描述 有一只狡猾的老鼠,在一个环形的田埂上挖了n个老鼠洞,这些洞也是连接为一个环状,我们要用泥土填满这些鼠洞,老鼠从第0号洞开始出现(第0号洞不填 ...

  2. 消灭老鼠c语言题目,老鼠智力题-关于老鼠的智力题-关于老鼠的话题-33IQ

    鬼骧的记事簿(杂) 习惯性的在这时候点开33iq的网站. 据说12.00时会有很多灵感.恐惧是什么呢?不禁这么想到. 鬼?死亡?似乎都不恐怖.毕竟如果不代入角色够深的话是没法体会到的吧. 老旧的风扇发 ...

  3. SWUST OJ289: 消灭老鼠

    题目描述 有一只狡猾的老鼠,在一个环形的田埂上挖了n个老鼠洞,这些洞也是连接为一个环状,我们要用泥土填满这些鼠洞,老鼠从第0号洞开始出现(第0号洞不填),然后依次按每间隔m个洞出现一次.我们要跟在老鼠 ...

  4. 消灭老鼠 有一只老鼠,在一个环形的田埂上挖了n个老鼠洞,这些洞也是连接为一个环状,我们要用泥土填满这些鼠洞,老鼠从第0号洞开始出现(第0号洞不填),然后依次按每间隔m个洞出现一次。我们要跟在老鼠后

    源代码#include<stdio.h> int main() {     int n,m,n1,i=0,step;     scanf("%d %d",&n, ...

  5. 站怎么点都是一样_老鼠被卡在轮胎里,像是被点了穴道一样:这可怎么办才好?...

    从小就被灌输了一个思想:猫和老鼠是天敌,也没有想过这样根深蒂固的思想有一天会发生变化.直到有天偶然看到猫咪被老鼠吓到四处乱窜才觉得这一定理并非是永恒不变的,毕竟生活总是充满着惊喜与惊吓. 来看看下面这 ...

  6. Acwing第 41 场周赛【完结】

    T3罚时爆炸 目录 4308. 组合字符串[暴力] 309. 消灭老鼠[斜率] 4310. 树的DFS[DFS] 4308. 组合字符串[暴力] #include<bits/stdc++.h&g ...

  7. 《UCD火花集2:有效的互联网产品设计 交互/信息设计 用户研究讨论》一2.3 交互设计师容易犯的错误:把自己禁锢在解决方案之中...

    本节书摘来自异步社区<UCD火花集2:有效的互联网产品设计 交互/信息设计 用户研究讨论>一书中的第2章,第2.3节,作者 UCDChina,更多章节内容可以访问云栖社区"异步社 ...

  8. 学校学业水平测试软件,中小学生学业水平测试

    <中小学生学业水平测试>由会员分享,可在线阅读,更多相关<中小学生学业水平测试(9页珍藏版)>请在人人文库网上搜索. 1.2012年中小学生学业水平测试 小学语文试卷S第一部分 ...

  9. 《未来已来- 马云》笔记

    创业首先要活下来,选最开心最容易的事情去做 任何时候都要做到乐观.积极.坚持 坚持理想主义.坚持担当精神.坚持乐观正能量 每次演讲,更多地说对方相关或关心的事情 改变自己,才能改善世界 改变自己,才能 ...

最新文章

  1. Ubuntu下安装kate编辑器
  2. 操作系统原理:死锁的特征,预防,避免,恢复
  3. MapReduce关系代数运算
  4. JavaScript中的回调地狱及解决方法
  5. java 矩阵题目_java练习本(原每日一练)(20190517)
  6. java不适合开发cv吗_JavaCV开发环境的配置
  7. Oracle学习笔记:blank_trimming的含义
  8. HDU-一个人的旅行(最短路)
  9. php-fpm stop,php-fpm 启动,重启,终止操作
  10. Redis中的lua脚本
  11. [数据挖掘笔记01] 关联规则Apriori算法
  12. 2021农行研发中心面试题总结
  13. Oracle JDK | 迅雷内置浏览器解决 Java 下载需要登录 不能直接复制链接 直接下载慢
  14. 如何将BMP文件转换为JPG文件
  15. java计算机毕业设计体育用品购物系统源码+数据库+系统+lw文档+mybatis+运行部署
  16. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?
  17. PTA-天梯赛-7-8 GOGO冲
  18. 营销QQ添加好友限制完美解决方案
  19. maven 项目 springMVC实现文件图片的上传下载功能详解(源码已提供,小白必看)
  20. 亚马逊开店有什么优势?红利期过了吗?

热门文章

  1. GD32F4xx系统时钟滴答定时器
  2. 播客 01 “全面超越,完全自研”,只要你自己不尴尬就好
  3. Caffeine配合Spring Cache的基本使用
  4. c语言(p i),【C语言】*(p+i) [j] 和 (*(p+i))[j] 的区别问题。万分感谢!!
  5. 新手关于Linux系统的一些错误见地
  6. 没有备份的视频怎么恢复?视频丢失如何恢复
  7. 学会了C语言/C++能做什么?让我来告诉你吧!
  8. spring boot mail 发送 设置代理服务器
  9. 计算机基础数据结构和算法动态可视化展示网站收录
  10. java dubbo 连接 zk 报错 Session 0x0 for server 127.0.0.1/<unresolved>:2181, unexpected error, closing so