news 2026/4/25 5:57:27

打卡信奥刷题(2715)用C++实现信奥题 P3361 Cool loves maids

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2715)用C++实现信奥题 P3361 Cool loves maids

P3361 Cool loves maids

题目背景

Cool 非常喜欢妹子,以至于 Cool 在百度上有一个非常神奇的 ID 【雾】。

题目描述

Cool 现在搞清楚了女生宿舍的地形。女生宿舍是由很多栋楼构成的,它们可以被抽象成20×2020\times 2020×20的方格。

Cool 的妹子们所处的地方可以被表示为实数类型的坐标。当一个妹子(x,y)(x,y)(x,y)在楼(i,j)(i,j)(i,j)中,当且仅当i≤x<i+1i \le x<i+1ix<i+1j≤y<j+1j \le y<j+1jy<j+1i,j∈Zi,j\in \Zi,jZ。两个妹子之间有距离,当且仅当一个妹子所在的楼的横纵坐标均小于另一个妹子所在的楼,此时她们之间的距离为她们自身坐标的曼哈顿距离。

现在 Cool 要搞一个大统计:求nnn个妹子之间所有距离之和。

输入格式

为了避免输入文件过大无法上传在读入方面消耗过多时间,本题采取数据生成方案。

输入包含两行:

  • 第一行,一个整数nnn
  • 第二行,包含666个整数rxa,rxc,rya,ryc,rza,rzc\mathrm{rxa},\mathrm{rxc},\mathrm{rya},\mathrm{ryc},\mathrm{rza},\mathrm{rzc}rxa,rxc,rya,ryc,rza,rzc

所有的实数都采用如下方式生成:

  1. 初始化x=y=z=0x=y=z=0x=y=z=0
  2. 重复以下过程:
    • x=(y×rxa+rxc) mod rpx=(y\times \mathrm{rxa}+\mathrm{rxc})\bmod \mathrm{rp}x=(y×rxa+rxc)modrp
    • y=(z×rya+ryc) mod rpy=(z\times \mathrm{rya}+\mathrm{ryc})\bmod \mathrm{rp}y=(z×rya+ryc)modrp
    • z=(x×rza+rzc) mod rpz=(x\times \mathrm{rza}+\mathrm{rzc})\bmod \mathrm{rp}z=(x×rza+rzc)modrp

每次得到的实数即为(x mod 20)+(y mod 10)÷10+(z mod 10)÷100(x\bmod 20)+(y\bmod 10)\div 10+(z\bmod 10)\div 100(xmod20)+(ymod10)÷10+(zmod10)÷100rp=2333333\mathrm{rp}=2333333rp=2333333

iii个妹子将以第2i−12i-12i1个生成实数为横坐标,第2i2i2i个生成实数为纵坐标。

输出格式

输出包含一行一个实数,表示nnn个妹子之间所有距离之和的平均值,保留555位小数。

输入输出样例 #1

输入 #1

6 3 5 7 11 13 17

输出 #1

17.52167

说明/提示

数据范围及约定

对于全部数据,保证1≤n≤5×1061\le n\le 5\times 10^61n5×106

C++实现

#include<bits/stdc++.h>usingnamespacestd;intn,rxa,rxc,rya,ryc,rza,rzc,rp=2333333,f[45][45];longlongx,y,z,num;doublemzx,mzy,a[45][45],b[45][45],ans;intmain(){scanf("%d%d%d%d%d%d%d",&n,&rxa,&rxc,&rya,&ryc,&rza,&rzc);for(registerinti=1;i<=2*n;i++){x=(y*rxa+rxc)%rp;y=(z*rya+ryc)%rp;z=(x*rza+rzc)%rp;if(i%2==1)mzx=(double)(x%20)+((double)(y%10)/10.000000000)+((double)(z%10)/100.00000000);else{mzy=(double)(x%20)+((double)(y%10)/10.000000000)+((double)(z%10)/100.00000000);a[(int)mzx][(int)mzy]+=mzx;b[(int)mzx][(int)mzy]+=mzy;f[(int)mzx][(int)mzy]++;}}for(registerinti=0;i<=20;i++)for(registerintj=0;j<=20;j++)for(registerintk=i+1;k<=20;k++)for(registerintl=j+1;l<=20;l++){ans+=(a[k][l]+b[k][l])*(double)f[i][j]-(a[i][j]+b[i][j])*(double)f[k][l];num+=f[i][j]*f[k][l];}//按要求来就是了printf("%.5f",ans/num);}

后续

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 22:49:00

信息获取的范式革命:AI搜索如何重塑人类认知方式

引言&#xff1a;从工具到认知伙伴的转变当古希腊学者在亚历山大图书馆的卷轴中寻找智慧&#xff0c;当文艺复兴时期的思想家在私人藏书室中探索知识&#xff0c;当二十世纪末的人们通过关键字在初代搜索引擎中检索信息&#xff0c;人类获取知识的方式始终在演进。今天&#xf…

作者头像 李华
网站建设 2026/4/17 18:42:59

认知不平等与数字鸿沟:AI搜索时代的知识获取伦理

引言&#xff1a;当知识获取成为特权在前数字时代&#xff0c;知识获取的不平等主要受制于物理条件——图书馆的远近、书籍的价格、教育机会的分配。互联网时代似乎承诺了知识的民主化&#xff0c;但数字鸿沟随即出现。如今&#xff0c;AI搜索技术的兴起正在创建新一轮的认知不…

作者头像 李华
网站建设 2026/4/23 14:12:43

教育的范式转移:AI搜索如何重塑学习与教学

引言&#xff1a;从知识传输到认知导航的教育革命两千多年来&#xff0c;教育的基本模式围绕一个核心假设&#xff1a;知识是稀缺的&#xff0c;教师是知识的主要持有者和传输者。这一假设塑造了教室的物理布局、课程的层级结构、评估的标准方法。然而&#xff0c;AI搜索技术的…

作者头像 李华
网站建设 2026/4/23 12:53:57

Obsidian 看板 + Copilot:项目管理与每日总结的完美闭环

在多项目并行的职场节奏中&#xff0c;项目管理是每个人的必修课。我曾深陷“工具选择困难症”&#xff0c;在滴答清单、Notion 等工具间反复横跳。虽然滴答清单足够优秀&#xff0c;但它始终无法与我的个人知识库深度联动&#xff0c;更难以调用 AI 能力来二次加工我的工作轨迹…

作者头像 李华
网站建设 2026/4/22 13:11:33

涡流传感器金属探测识别检测金银铜铁STM32/51单片机DIY设计模块(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

涡流传感器金属探测识别检测金银铜铁STM32/51单片机DIY设计模块产品功能描述&#xff1a; 涡流传感器金属检测工作原理&#xff1a; 根据法拉利电磁感应定律&#xff0c;金属导体置于变化的磁场中或者在磁场中作切割磁力线运动时&#xff0c;导体内将产生呈涡旋状的感应电流&am…

作者头像 李华
网站建设 2026/4/23 22:18:22

51单片机便携式红外非接触人体测温仪阈值报警91(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

51单片机便携式红外非接触人体测温仪阈值报警91(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码产品功能描述&#xff1a; 本系统由STC89C52单片机、lcd1602液晶、MLX90614ESF红外非接触温度检测、按键、&#xff08;无线蓝牙/…

作者头像 李华