尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

打卡信奥刷题(3518)用C++实现信奥题 P10913 [蓝桥杯 2024 国 B] 套手镯

打卡信奥刷题(3518)用C++实现信奥题 P10913 [蓝桥杯 2024 国 B] 套手镯 P10913 [蓝桥杯 2024 国 B] 套手镯题目描述小蓝在 LQ 集市上发现一个套手镯的游戏在一个大小为10 8 × 10 8 10^8 \times 10^8108×108矩形平面上摆放着N NN个圆形的手镯。玩家可以将一个大小为w × h w \times hw×h的矩形方框放置在这个平面上玩家只可以沿着水平/垂直方向放置方框即可以将方框旋转90 9090度但不可以旋转至其他角度位于这个矩形方框内部的手镯就是玩家获得的奖励。可以将这个矩形平面看作是一个二维坐标系左下角的坐标为( 0 , 0 ) (0, 0)(0,0)。手镯和方框的厚度可以忽略不计, 允许多个手镯重叠放置。小蓝想要尝试一次请问他最多可以获得多少手镯输入格式第一行输入三个整数N NN、w ww、h hh。接下来输入N NN行每行三个整数x , y , r x, y, rx,y,r表示第i ii个手镯的圆心坐标和半径。输出格式输出一个整数表示答案。输入输出样例 #1输入 #18 12 9 18 22 1 3 17 2 21 28 1 7 18 2 10 2 2 4 24 2 19 13 1 14 15 1输出 #13说明/提示【样例说明】上图展示了一种可能的答案。【评测用例规模与约定】对于50 % 50\%50%的评测用例1 ≤ N ≤ 100 1 \le N \le 1001≤N≤1001 ≤ w , h , x , y , r ≤ 200 1 \le w, h, x, y, r \le 2001≤w,h,x,y,r≤200。对于100 % 100\%100%的评测用例1 ≤ N ≤ 1000 1 \le N \le 10001≤N≤10001 ≤ w , h , x , y , r ≤ 10 8 1 \le w, h, x, y, r \le 10^81≤w,h,x,y,r≤1081 ≤ min ⁡ { w , h } ≤ 200 1 \le \min\{w, h\} \le 2001≤min{w,h}≤200。保证所有手镯都位于平面内部。C实现#includebits/stdc.husingnamespacestd;structnode{intx,y,r;booloperator(node a){returnxra.xa.r;}}p[1001];intys[1001],n,w,h,ans;intslv(inted){priority_queueint,vectorint,greaterintq;intans0;for(inti0;in;i){if(p[i].y-p[i].red||p[i].yp[i].rhed)continue;if(2*p[i].rw)continue;intlastp[i].xp[i].r;while(q.size()last-q.top()w)q.pop();intlp[i].x-p[i].r;q.push(l);ansmax(ans,(int)q.size());}returnans;}intmain(){cinnwh;for(inti0;in;i){cinp[i].xp[i].yp[i].r;ys[i]p[i].y-p[i].r;}sort(p,pn);sort(ys,ysn);for(inti0;in;i)ansmax(ans,slv(ys[i]));swap(w,h);for(inti0;in;i)ansmax(ans,slv(ys[i]));coutansendl;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
返回列表