news 2026/5/9 23:16:45

打卡信奥刷题(3236)用C++实现信奥题 P8452 「SWTR-8」15B03

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3236)用C++实现信奥题 P8452 「SWTR-8」15B03

P8452 「SWTR-8」15B03

题目背景

15B03 获得了 ION2064 的承办权。

题目描述

15B03 的座位非常拥挤,可以看成一张n × m n\times mn×m的网格,每个小正方形( i , j ) (i, j)(i,j)代表一张桌子。

根据规定,考场上任何两张桌子不得相邻。这里相邻指含有公共点。严格定义两张桌子( i , j ) (i, j)(i,j)( i ′ , j ′ ) (i', j')(i,j)相邻当且仅当∣ i − i ′ ∣ ≤ 1 |i - i'|\leq 1ii1∣ j − j ′ ∣ ≤ 1 |j - j'|\leq 1jj1

布置考场的任务落在小 A 头上,他希望撤去最少的桌子满足上述要求。

小 A 认为这样太简单了,因此他添加了限制:在保证撤去桌子最少的前提下,最大化剩余每张桌子到距离它最远的桌子的距离之和。这里距离指欧几里得距离:桌子( a , b ) (a, b)(a,b)( c , d ) (c, d)(c,d)的距离为( a − c ) 2 + ( b − d ) 2 \sqrt{(a - c) ^ 2 + (b - d) ^ 2}(ac)2+(bd)2

平行时空中 15B03 的规模不尽相同:多组测试数据。

请选手认真阅读本题的评分方式。

输入格式

第一行一个整数S SS,表示该测试点的编号。

第二行一个整数T TT,表示数据组数。接下来T TT组测试数据,每组数据形如:

  • 一行两个整数n , m n, mn,m

输出格式

对于每组测试数据:

  • 输出一个整数和一个实数,由空格隔开。分别表示最少撤去的桌子数量以及每张桌子到距离它最远的桌子的距离之和的最大值。

实数比较按绝对误差或相对误差不超过10 − 9 10 ^ {-9}109:令你输出的答案为a aa,标准答案为b bb,你的答案被判为正确当且仅当∣ a − b ∣ max ⁡ ( 1 , ∣ b ∣ ) ≤ 10 − 9 \frac{|a - b|}{\max(1, |b|)} \leq 10 ^ {-9}max(1,b)ab109

输入输出样例 #1

输入 #1

0 4 3 3 2 4 15 57 1064 822

输出 #1

5 11.313708499 6 6.324555320 623 10206.135788972 655956 222400384.677931725

说明/提示

「样例解释」

对于第一组询问,选择( 1 , 1 ) , ( 1 , 3 ) , ( 3 , 1 ) (1, 1), (1, 3), (3, 1)(1,1),(1,3),(3,1)( 3 , 3 ) (3, 3)(3,3)最优。撤去了3 × 3 − 4 = 5 3\times 3 - 4 = 53×34=5张桌子,且每张桌子到距离它最远的桌子的距离均为2 2 + 2 2 = 2 2 \sqrt{2 ^ 2 + 2 ^ 2} = 2\sqrt 222+22=22,因此第二问答案为8 2 8\sqrt 282。如下图所示:

对于第二组询问,选择( 1 , 1 ) (1, 1)(1,1)( 2 , 4 ) (2, 4)(2,4)最优。撤去了2 × 4 − 2 = 6 2\times 4 - 2 = 62×42=6张桌子,且每张桌子到距离它最远的桌子的距离均为1 2 + 3 2 = 10 \sqrt{1 ^ 2 + 3 ^ 2} = \sqrt {10}12+32=10,因此第二问答案为2 10 2\sqrt {10}210

如果选择( 1 , 1 ) (1, 1)(1,1)( 2 , 3 ) (2, 3)(2,3),则第二问答案为2 5 2\sqrt 525,不优。

「评分方式」

对于每组测试数据:

  • 若你第一问的答案错误,得 0 分。
  • 否则,若你第二问的答案错误,得 0.8 分。
  • 否则,得 1 分。

每个测试点的得分为测试点内所有测试数据的得分的最小值乘以该测试点的分值。

注意,若你输出的格式错误,得 0 分。因此,如果你只希望获得第一问的分数,请在第二问输出任意合理范围内的实数。

「数据范围与约定」

  • 测试点 #1(15 points):n , m n, mn,m均为奇数。
  • 测试点 #2(20 points):n = 1 n = 1n=1
  • 测试点 #3(25 points):n = 2 n = 2n=2
  • 测试点 #4(30 points):n nn为奇数。
  • 测试点 #5(10 points):无特殊限制。

对于100 % 100\%100%的数据:

  • 1 ≤ T ≤ 57 1\leq T\leq 571T57
  • 1 ≤ n , m ≤ 1064 1\leq n, m\leq 10641n,m1064

「帮助与提示」

  • 你可以使用cmath中的sqrt(x)函数计算x xx的平方根。它返回double类型的值。sqrtl(x)精度更高,它返回long double类型的值。

「题目来源」

  • Sweet Round 8 A
  • Idea & Solution:Alex_Wei。
  • Tester:chenxia25。

C++实现

#include<bits/stdc++.h>#definelllonglongusingnamespacestd;ll s,t,n,m,r;intmain(){std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>s>>t;for(inti=1;i<=t;i++){boolp=1,q=1;cin>>n>>m;r=n*m;if(n%2==0)n--,p=0;if(m%2==0)m--,q=0;r-=(n/2+1)*(m/2+1);cout<<r<<" ";if(p==0)n++;if(q==0)m++;if(n*m-r==1){cout<<"0.000000000"<<endl;continue;}longdoubleans=0.0;longlongk=1,j=1;p=1,q=1;for(k=1;k<=n;k+=2){q=1;for(j=1;j<=m;j+=2){if(m%2==0&&j>(m/2)&&(q))j++,q=0;longlongx,y;if(k<=(n+1)/2)x=k;elsex=n-k+1;if(j<=(m+1)/2)y=j;elsey=m-j+1;ans+=sqrtl(((longdouble)((n-x)*(n-x))+((longdouble)((m-y)*(m-y)))));}if(n%2==0&&k+2>=(n/2)&&(p))k++,p=0;}cout<<fixed<<setprecision(9)<<ans<<endl;}return(0-0);}

后续

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

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

从openai realtime api到全双工 Voice AI的实时工程架构

引言:打破“完美对话”的工程幻觉 随着 GPT-4o Realtime API 以及 Google Gemini Live 的全面铺开,人机交互正在经历一场从“回合制文本(Turn-based Text)”向“连续流语音(Continuous Voice)”的代际跃迁。 在科技公司的演示视频中(包括豆包【狗头】),AI 智能体表现…

作者头像 李华
网站建设 2026/5/9 23:10:06

CANN/catlass带步长批量矩阵乘法TLA示例

StridedBatchedMatmulTla Example Readme 【免费下载链接】catlass 本项目是CANN的算子模板库&#xff0c;提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 代码组织 ├── 45_strided_batched_matmul_tla │ ├──…

作者头像 李华
网站建设 2026/5/9 22:52:59

解码酒业营销价值重构,探讨酒企如何实现数字化动销升级

引言&#xff1a;当“烧钱”成为行业常态白酒行业正经历一场投入产出失衡的深刻困境。据云酒头条《透视 427 亿销售费用&#xff0c;投品牌还是投促销&#xff1f;》显示&#xff0c;2025年&#xff0c;19家白酒上市公司投入销售费用总规模为 427.17 亿元&#xff0c;但这份巨额…

作者头像 李华
网站建设 2026/5/9 22:52:21

AI-XR元宇宙隐私保护:从数据最小化到零知识证明的技术实践

1. 项目概述&#xff1a;当虚拟与现实交织&#xff0c;隐私的边界在哪里&#xff1f;最近几年&#xff0c;AI&#xff08;人工智能&#xff09;和XR&#xff08;扩展现实&#xff0c;包括VR/AR/MR&#xff09;的融合&#xff0c;正在以前所未有的速度催生所谓的“元宇宙”雏形。…

作者头像 李华
网站建设 2026/5/9 22:51:20

CANN/pyasc块内最小值归约API文档

asc.language.basic.block_reduce_min 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口&#xff0c;支持在昇腾AI处理器上加速计算&#xff0c;接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.basic.…

作者头像 李华