蓝桥杯 平面切分(欧拉定理)
问题描述
平面上有 N条直线,其中第 i条直线是 y = Ai*x + B。
请计算这些直线将平面分成了几个部分。
输入格式
第一行包含一个整数N。
以下N行,每行包含两个整数 Ai, Bi。
输出格式
一个整数代表答案。
样例输入
3
1 1
2 2
3 3
样例输出
6
基本思路
首先通过set容器对输入的数据进行去重,根据“每增加一条直线,对平面数增加的贡献值,是其与先前直线的交点数(不包括与已有交点重合的点)+1 ”的结论进行累加,最后输出结果即可(具体步骤见代码注释~)。
AC代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1005;int main()
{int n;scanf("%d", &n);int a, b;long double A[N], B[N];pair<long double, long double> p; set<pair<long double, long double> > s; //利用set自动去重功能筛选掉重边 for(int i = 0; i < n; i++){scanf("%d %d", &a, &b);p.first = a;p.second = b;s.insert(p);}int i = 0; //将去重后的直线数据放回A,B数组 for(set<pair<long double, long double> >::iterator it = s.begin(); it != s.end(); it++, i++){A[i] = it -> first;B[i] = it -> second;}long long ans = 2; //初始情况当只有一条直线时,有两个平面 for(int i = 1; i < s.size(); i++) //从下标1开始,也就是第二条直线 {set<pair<long double, long double> > pos; //记录第i条直线与先前的交点 for(int j = i-1; j >= 0; j--){int a1 = A[i], b1 = B[i];int a2 = A[j], b2 = B[j];if(a1 == a2) //遇到平行线无交点,跳出 continue; p.first = 1.0*(b2-b1)/(a1-a2);p.second = 1.0*a1*((b2-b1)/(a1-a2)) + b1;pos.insert(p); }ans += pos.size() + 1; //根据结论,每增加一条直线,对平面数的贡献值是其与先前直线的交点数(不重合)+1 } printf("%d\n", ans);return 0;
}
蓝桥杯 平面切分(欧拉定理)相关推荐
- 2020第十一届蓝桥杯 平面切分 最详细题解
题目描述 平面上有N 条直线,其中第i条直线是y = Ai x+Bi 请计算这些直线将平面分成了几个部分. [输入格式] 输入的第一行包含一个整数N, 以下N行,包含两个证书 Ai,Bi [输出格式] ...
- 蓝桥杯Java大学C组近三年真题解析(二)——暴力、模拟题
目录 第十一届 约数个数 题目 题解 代码 代码 寻找 2020 题目 题解 代码 代码 跑步锻炼 题目 题解 代码 代码 代码 灵活使用Excel 平面分割 题目 题解 代码 代码 七段码 题目 ...
- 蓝桥杯真题:平面分割
第一次做几何题: 看到了一篇十分好的推导,原文请见: 第十一届蓝桥杯A组省赛平面分割_Alan_Lowe-CSDN博客_蓝桥杯平面分割 也有一个小的公式总结,原文请见: [蓝桥杯]平面分割_木又可可的 ...
- 数组切分【Java蓝桥杯】
第十三届蓝桥杯大赛软件赛省赛 Java 大学 B 组 试题 G: 数组切分 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 题目 [问题描述] 已知一个长度为 N 的数组:A1, ...
- 蓝桥杯 省赛 python_第十一届蓝桥杯软件省级大赛第二场python3,类省赛,Python3
试题 A: 门牌制作 本题总分:5 分 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号. 小蓝制作门牌的方法是先制作 0 到 9 这几 ...
- 第十三届蓝桥杯大赛软件赛省赛(Java 大学A组)
蓝桥杯 2022年省赛真题 Java 大学A组 试题 A: 裁纸刀 试题 B: 寻找整数 试题 C: 求和 试题 D: GCD 试题 E: 蜂巢 试题 F: 全排列的价值 试题 G: 青蛙过河 试题 ...
- 2020蓝桥杯省赛B组C++(第二场)真题
心得体会 前面总结了很多历届的省赛真题,这次终于轮到自己上战场上体验真题啦~为此次蓝桥杯省赛也是准备了一两周时间,听说比较水,题不是很难,会暴力就能拿奖哈哈哈考完确实有点这样的感觉,但是能把五个填空题 ...
- 蓝桥杯2020年第十一届C/C++B组(第二次)省赛习题题解
目录 试题A.门牌制作(拆分数字) 试题 B 既约分数(gcd) 试题C 蛇形填数(数学) 试题D 跑步锻炼(模拟) 试题E 七段码(图论+并查集) 试题F:成绩统计(格式化输出) 试题G:回文日期( ...
- 第十三届蓝桥杯大赛软件赛省赛(C/C++ 大学A组)
蓝桥杯 2022年省赛真题 C/C++ 大学A组 试题 A: 裁纸刀 试题 B: 灭鼠先锋 试题 C: 求和 试题 D: 选数异或 试题 E: 爬树的甲壳虫 试题 F: 青蛙过河 试题 G: 最长不下 ...
最新文章
- flask 配置文件
- DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5的解决办法
- 【Java基础】Java中的值传递、引用传递
- 3G助推智慧医疗 看病将更加“智能化”
- python魔法函数和装饰器_python魔法方法、构造函数、序列与映射、迭代器、生成器...
- apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
- VB 详细枚举指定目录、文件夹文件列表
- [Spring实战系列](19)Servlet不同版本之间的区别
- 思科网院-网络简介----Packet Tracer交换机使用的基本操作
- asp.net怎么生成json数据_[随笔]利用 VS2019 + NET5.0 生成镜像部署
- 房地产软件信息化——CRM的“中海模式”穆利堂-movno1
- 网页抓取工具之数据预处理
- js实现外链访问劫持代码 可劫持百度快照
- Attention机制原理
- UE4 后处理材质 镜头光晕(Lensflare)效果
- 小程序emijo表情的正则问题
- requests+python+unitte实现接口测试回归
- 夜曲编程PPT,EXCEL课(侵删)
- 仿QQ即时通讯聊天软件Windows新版可定制客户端演示
- c语言程序π,C语言求圆周率π(三种方法)
热门文章
- 为什么越来越多的人消失在朋友圈?
- 雷军:有人说我写的代码像诗一样优雅~
- 这些肢体语言竟然是这个意思! | 今日最佳
- 遭央视曝光的“AI算命”,背后竟然隐藏了一个价值千亿的市场!?
- php 重定向到https,php – Laravel 5 – 重定向到HTTPS
- 凉凉!面试阿里我被Redis技术专题给搞的昏倒在地~
- php的old函数,laravel单元测试之phpUnit中old()函数报错解决
- windows制作定时关机脚本_自动关机、自动打开程序… 让Windows自动执行任何操作...
- 墨迹天气语音包_小米有品“智能AI翻译机”评测,还内置了语音助手,随身WiFi功能...
- springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...