蓝桥杯12-直线
2022/2/4 6:15:34
本文主要是介绍蓝桥杯12-直线,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
思路:
第一点要想到y=kx+b
两条直线的k和b不相同那么这两条直线不相同
直接暴力4重循环
要把斜率不存在的直线特判出来,最后结果加上就好了
#include<iostream> #include<algorithm> #include <cmath> #include <map> using namespace std; struct L{ double k,b; int operator < (const L& ll) const{ if(k != ll.k) return k < ll.k; return b<ll.b; } }l[1000010]; int main(){ int n = 0; for(int x1 = 0;x1<20;x1++){ for(int y1 = 0;y1<21;y1++){ for(int x2 = 0;x2<20;x2++){ for(int y2 = 0;y2<21;y2++){ if(x1 != x2){ double k = (y1-y2)*1.0 / (x1-x2); double b = y1-k*x1; l[n++] = {k,b}; } } } } } sort(l,l+n); long long ans = 1; for(int i = 1;i<n;i++){ if(fabs(l[i].k - l[i-1].k) > 1e-8 || fabs(l[i].b - l[i-1].b) > 1e-8) ans++; } cout << ans + 20 << endl; return 0; } //40257
这篇关于蓝桥杯12-直线的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南