2026/4/18 7:21:27
网站建设
项目流程
网站怎么做限时抢购,医院导航网站怎么做,买完域名后怎么搭建个人网站,域名一定要备案才能用吗P3361 Cool loves maids
题目背景
Cool 非常喜欢妹子#xff0c;以至于 Cool 在百度上有一个非常神奇的 ID 【雾】。
题目描述
Cool 现在搞清楚了女生宿舍的地形。女生宿舍是由很多栋楼构成的#xff0c;它们可以被抽象成 202020\times 202020 的方格。
Cool 的妹子们所处的地…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≤xi1i \le xi1i≤xi1j≤yj1j \le yj1j≤yj1i,j∈Zi,j\in \Zi,j∈Z。两个妹子之间有距离当且仅当一个妹子所在的楼的横纵坐标均小于另一个妹子所在的楼此时她们之间的距离为她们自身坐标的曼哈顿距离。现在 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。所有的实数都采用如下方式生成初始化xyz0xyz0xyz0重复以下过程x(y×rxarxc) mod rpx(y\times \mathrm{rxa}\mathrm{rxc})\bmod \mathrm{rp}x(y×rxarxc)modrpy(z×ryaryc) mod rpy(z\times \mathrm{rya}\mathrm{ryc})\bmod \mathrm{rp}y(z×ryaryc)modrpz(x×rzarzc) mod rpz(x\times \mathrm{rza}\mathrm{rzc})\bmod \mathrm{rp}z(x×rzarzc)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)÷100。rp2333333\mathrm{rp}2333333rp2333333。第iii个妹子将以第2i−12i-12i−1个生成实数为横坐标第2i2i2i个生成实数为纵坐标。输出格式输出包含一行一个实数表示nnn个妹子之间所有距离之和的平均值保留555位小数。输入输出样例 #1输入 #16 3 5 7 11 13 17输出 #117.52167说明/提示数据范围及约定对于全部数据保证1≤n≤5×1061\le n\le 5\times 10^61≤n≤5×106。C实现#includebits/stdc.husingnamespacestd;intn,rxa,rxc,rya,ryc,rza,rzc,rp2333333,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(registerinti1;i2*n;i){x(y*rxarxc)%rp;y(z*ryaryc)%rp;z(x*rzarzc)%rp;if(i%21)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(registerinti0;i20;i)for(registerintj0;j20;j)for(registerintki1;k20;k)for(registerintlj1;l20;l){ans(a[k][l]b[k][l])*(double)f[i][j]-(a[i][j]b[i][j])*(double)f[k][l];numf[i][j]*f[k][l];}//按要求来就是了printf(%.5f,ans/num);}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容