当前位置: 首页 > news >正文

打卡信奥刷题(3342)用C++实现信奥题 P9423 [蓝桥杯 2023 国 B] 数三角

P9423 [蓝桥杯 2023 国 B] 数三角

题目描述

小明在二维坐标系中放置了nnn个点,他想在其中选出一个包含三个点的子集,这三个点能组成三角形。然而这样的方案太多了,他决定只选择那些可以组成等腰三角形的方案。请帮他计算出一共有多少种选法可以组成等腰三角形?

输入格式

输入共n+1n + 1n+1行。

第一行为一个正整数nnn

后面nnn行,每行两个整数xi,yix_i, y_ixi,yi表示第iii个点的坐标。

输出格式

输出共111行,一个整数。

输入输出样例 #1

输入 #1

5 1 4 1 0 2 1 1 2 0 1

输出 #1

5

说明/提示

样例说明

一共有555种选法:{2,3,4}\{2,3,4\}{2,3,4}{3,4,5}\{3,4,5\}{3,4,5}{4,5,2}\{4,5,2\}{4,5,2}{5,2,3}\{5,2,3\}{5,2,3}{1,3,5}\{1,3,5\}{1,3,5}

评测用例规模与约定

  • 对于20%20\%20%的数据,保证n≤200n \le 200n200
  • 对于100%100\%100%的数据,保证n≤2000n \le 2000n20000≤xi,yi≤1090 \le x_i, y_i \le 10^90xi,yi109

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 E 题

C++实现

#include<iostream>#include<algorithm>#include<vector>#include<set>#include<utility>#include<map>usingll=longlongint;usingpii=std::pair<int,int>;constintMAXN=2e3+10;intn,ans;std::map<ll,int>dist;std::map<pii,int>mp;pii node[MAXN];llgetdist(inta,intb){intx1=node[a].first,y1=node[a].second,x2=node[b].first,y2=node[b].second;return1ll*(x2-x1)*(x2-x1)+1ll*(y2-y1)*(y2-y1);}piigetmid(pii a,pii b){if((a.first+b.first&1)||(a.second+b.second&1))return{-1,-1};elsereturn{a.first+b.first>>1,a.second+b.second>>1};}llC(intn,intm){// it seems that m cannot be greater than 2.if(m==1)returnn;elseif(m==2)returnn*(n-1)/2;}intmain(){std::cin>>n;for(inti=1;i<=n;i++){std::cin>>node[i].first>>node[i].second;mp[node[i]]++;}for(inti=1;i<=n;i++){dist.clear();for(intj=1;j<=n;j++){if(i==j)continue;dist[getdist(i,j)]++;}for(auto[d,cnt]:dist)ans+=C(cnt,2);}for(inti=1;i<=n;i++){for(intj=i+1;j<=n;j++)ans-=mp[getmid(node[i],node[j])];}std::cout<<ans;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.zskr.cn/news/1432696.html

相关文章:

  • 网络工程师的瑞士军刀:用MobaXterm搞定交换机升级、策略验证和Console连接
  • 基于浏览器语音识别与OBS虚拟摄像头的视频会议自动化响应系统
  • 用PyTorch复现FactorVAE:一个能预测股票收益的变分自编码器实战教程
  • 保姆级教程:用STM32CubeIDE配置ECB02蓝牙主机模式,实现双模块自动配对通信
  • 别再硬算最优路径了!用Python模拟退火算法求解TSP,附att48标准数据集测试对比
  • 终极指南:如何让Intel Mac风扇控制更智能、运行更凉爽
  • 如何为Unity游戏实现自动翻译:XUnity.AutoTranslator完整指南
  • 2026年4月评价好的龙虾筐源头厂家推荐,托盘/塑料周转筐/塑料周转框/川字托盘/吹塑托盘/周转箱,龙虾筐供应商哪家好 - 品牌推荐师
  • 2026年亲测|免费降AI率指令及3款工具降重效果对比(附论文降AIGC指南) - 降AI实验室
  • VS2022+Qt多版本共存与切换指南:告别卸载重装,5.9.8和5.12.3如何和平共处
  • DLSS Swapper终极指南:3步实现游戏性能飞跃的免费神器
  • 告别手动框选:实测Labelme内置AI-Polygon在图像分割标注中的效率提升与使用技巧
  • YOLOv8官方没说的细节:RT-DETR-l模型实战性能评测与调参心得
  • 【Lindy智能合约自动化实战指南】:20年链上开发老兵亲授3大避坑法则与5步极速部署法
  • 12-大模型智能体开发工程师:Function Calling原理与实战
  • 如何安全地在本地导出浏览器Cookie:Get cookies.txt LOCALLY终极指南
  • 别再只会用cp和mv了!Linux软链接的5个高效用法,让你文件管理效率翻倍
  • 深入MS7200芯片:如何用FPGA I2C配置国产HDMI接收器实现4K@30Hz信号环通
  • 2026年四平市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • 用Pandas rolling处理股票数据:从计算5日线到构建简易交易信号(附完整代码)
  • 从概念到打印:SOLIDWORKS拓扑优化结果,如何一键导出为可3D打印的STL文件?
  • Hologres建表别再乱配索引了!从一次慢查询排查,聊聊字典、位图、聚簇索引的真实选择逻辑
  • 2026年日照市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 手把手教你玩转STM32G4的IAP:从CubeMX配置到生成.bin文件,一个视频全搞定
  • 新兴科技如何重塑无障碍生活:从传感器到AI的辅助技术栈解析
  • 2026年三明市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • CORB-Planner:高速无人机避障轨迹规划技术解析
  • 2026年临沂市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • 别再被加密狗卡住!手把手教你搞定dSPACE 2017A与MATLAB 2016b的完整激活流程
  • 2026年随州市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989