问题描述
平面上有 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;
}

蓝桥杯 平面切分(欧拉定理)相关推荐

  1. 2020第十一届蓝桥杯 平面切分 最详细题解

    题目描述 平面上有N 条直线,其中第i条直线是y = Ai x+Bi 请计算这些直线将平面分成了几个部分. [输入格式] 输入的第一行包含一个整数N, 以下N行,包含两个证书 Ai,Bi [输出格式] ...

  2. 蓝桥杯Java大学C组近三年真题解析(二)——暴力、模拟题

    目录 第十一届 约数个数 题目 题解 代码 代码 寻找 2020 题目 题解 代码 代码 跑步锻炼 题目 题解 代码 代码 代码 灵活使用Excel 平面分割 题目 题解 代码 代码 七段码 题目 ​ ...

  3. 蓝桥杯真题:平面分割

    第一次做几何题: 看到了一篇十分好的推导,原文请见: 第十一届蓝桥杯A组省赛平面分割_Alan_Lowe-CSDN博客_蓝桥杯平面分割 也有一个小的公式总结,原文请见: [蓝桥杯]平面分割_木又可可的 ...

  4. 数组切分【Java蓝桥杯】

    第十三届蓝桥杯大赛软件赛省赛 Java 大学 B 组 试题 G: 数组切分 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 题目 [问题描述] 已知一个长度为 N 的数组:A1, ...

  5. 蓝桥杯 省赛 python_第十一届蓝桥杯软件省级大赛第二场python3,类省赛,Python3

    试题 A: 门牌制作 本题总分:5 分 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号. 小蓝制作门牌的方法是先制作 0 到 9 这几 ...

  6. 第十三届蓝桥杯大赛软件赛省赛(Java 大学A组)

    蓝桥杯 2022年省赛真题 Java 大学A组 试题 A: 裁纸刀 试题 B: 寻找整数 试题 C: 求和 试题 D: GCD 试题 E: 蜂巢 试题 F: 全排列的价值 试题 G: 青蛙过河 试题 ...

  7. 2020蓝桥杯省赛B组C++(第二场)真题

    心得体会 前面总结了很多历届的省赛真题,这次终于轮到自己上战场上体验真题啦~为此次蓝桥杯省赛也是准备了一两周时间,听说比较水,题不是很难,会暴力就能拿奖哈哈哈考完确实有点这样的感觉,但是能把五个填空题 ...

  8. 蓝桥杯2020年第十一届C/C++B组(第二次)省赛习题题解

    目录 试题A.门牌制作(拆分数字) 试题 B 既约分数(gcd) 试题C 蛇形填数(数学) 试题D 跑步锻炼(模拟) 试题E 七段码(图论+并查集) 试题F:成绩统计(格式化输出) 试题G:回文日期( ...

  9. 第十三届蓝桥杯大赛软件赛省赛(C/C++ 大学A组)

    蓝桥杯 2022年省赛真题 C/C++ 大学A组 试题 A: 裁纸刀 试题 B: 灭鼠先锋 试题 C: 求和 试题 D: 选数异或 试题 E: 爬树的甲壳虫 试题 F: 青蛙过河 试题 G: 最长不下 ...

最新文章

  1. flask 配置文件
  2. DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5的解决办法
  3. 【Java基础】Java中的值传递、引用传递
  4. 3G助推智慧医疗 看病将更加“智能化”
  5. python魔法函数和装饰器_python魔法方法、构造函数、序列与映射、迭代器、生成器...
  6. apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
  7. VB 详细枚举指定目录、文件夹文件列表
  8. [Spring实战系列](19)Servlet不同版本之间的区别
  9. 思科网院-网络简介----Packet Tracer交换机使用的基本操作
  10. asp.net怎么生成json数据_[随笔]利用 VS2019 + NET5.0 生成镜像部署
  11. 房地产软件信息化——CRM的“中海模式”穆利堂-movno1
  12. 网页抓取工具之数据预处理
  13. js实现外链访问劫持代码 可劫持百度快照
  14. Attention机制原理
  15. UE4 后处理材质 镜头光晕(Lensflare)效果
  16. 小程序emijo表情的正则问题
  17. requests+python+unitte实现接口测试回归
  18. 夜曲编程PPT,EXCEL课(侵删)
  19. 仿QQ即时通讯聊天软件Windows新版可定制客户端演示
  20. c语言程序π,C语言求圆周率π(三种方法)

热门文章

  1. 为什么越来越多的人消失在朋友圈?
  2. 雷军:有人说我写的代码像诗一样优雅~
  3. 这些肢体语言竟然是这个意思! | 今日最佳
  4. 遭央视曝光的“AI算命”,背后竟然隐藏了一个价值千亿的市场!?
  5. php 重定向到https,php – Laravel 5 – 重定向到HTTPS
  6. 凉凉!面试阿里我被Redis技术专题给搞的昏倒在地~
  7. php的old函数,laravel单元测试之phpUnit中old()函数报错解决
  8. windows制作定时关机脚本_自动关机、自动打开程序… 让Windows自动执行任何操作...
  9. 墨迹天气语音包_小米有品“智能AI翻译机”评测,还内置了语音助手,随身WiFi功能...
  10. springboot2 多线程写入数据_解决SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean问题...