当前位置: 首页 > 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.jsqmd.com/news/921374/

相关文章:

  • 量子强化学习框架:多芯片集成与NISQ优化
  • 别再只盯着AUC了!用R语言计算NRI和IDI,给你的模型评估加个‘放大镜’
  • PHP弱类型比较实战:手把手教你用404a绕过BuyFlag靶场密码验证
  • 网络工程师的瑞士军刀:用MobaXterm搞定交换机升级、策略验证和Console连接
  • Ubuntu 22.04 LTS安装时,面对RAID阵列和‘可用设备’该怎么选?一个新手避坑实录
  • SAP PI/PO SFTP适配器处理日文Shift_JIS文件:从乱码到完美解析的完整配置流程
  • 傅立叶变换不止能降噪?我用它发现了传感器数据中的隐藏周期信号
  • 告别CentOS7的坑,RHEL8内核升级真香!手把手教你配置ELRepo清华镜像源
  • 基于浏览器语音识别与OBS虚拟摄像头的视频会议自动化响应系统
  • 用PyTorch复现FactorVAE:一个能预测股票收益的变分自编码器实战教程
  • 告别烘焙!用UE5 Lumen做动态场景全局光照,这份避坑指南和性能优化思路请收好
  • 云运营模式解析:企业如何通过混合云策略实现成本与敏捷性双赢
  • 从游戏挂机到办公自动化:深入聊聊按键精灵里数字和文本处理的那点事儿
  • 别只怪软件!MathType安装后闪退?可能是你Windows系统字体库的‘锅’
  • 2026年武汉市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 用89S52单片机驱动TPμP-40A微型打印机:一个嵌入式老项目的硬件接口与软件时序详解
  • 终极免费手机号码定位系统:5分钟搭建精准地理信息查询平台
  • 别再硬算最优路径了!用Python模拟退火算法求解TSP,附att48标准数据集测试对比
  • 保姆级教程:用STM32CubeIDE配置ECB02蓝牙主机模式,实现双模块自动配对通信
  • 终极指南:如何让Intel Mac风扇控制更智能、运行更凉爽
  • 告别手动标注!用X-AnyLabeling+YOLOv5打造专属自动标注流水线(附YAML配置避坑指南)
  • 别再手动排样了!用Python+遗传算法求解木板最优切割方案(附代码)
  • Keil MDK5许可证服务器配置与兼容性问题解决方案
  • 告别‘盲猜’!用TBtools+Python三步判断你的基因家族是否成簇分布
  • 2026年4月评价好的龙虾筐源头厂家推荐,托盘/塑料周转筐/塑料周转框/川字托盘/吹塑托盘/周转箱,龙虾筐供应商哪家好 - 品牌推荐师
  • 单卡党福音:用你的游戏本也能微调PP-OCRv4!保姆级显存优化与参数调整指南
  • 如何为Unity游戏实现自动翻译:XUnity.AutoTranslator完整指南
  • 从AI观光到AI原住民:深度集成与工作流重塑实战指南
  • 3dMax插件避坑指南:PolyWindow一键生成窗户时,如何避免重面、材质ID错乱这些常见问题?
  • Ubuntu系统盘爆满?别急着删文件,先看看是不是Snap包在搞鬼