打卡信奥刷题(3072)用C++实现信奥题 P6953 [NEERC 2017] Box

张开发
2026/4/8 12:39:01 15 分钟阅读

分享文章

打卡信奥刷题(3072)用C++实现信奥题 P6953 [NEERC 2017] Box
P6953 [NEERC 2017] Box题目描述Bella 在一家生产盒子的工厂工作。所有盒子都是长方体形状。对应长方体的展开图是从一个大小为w×hw \times hw×h的平面矩形纸板上裁剪出来的。这个展开图是一个多边形其边与纸板矩形的边平行。展开图沿着几条线折叠并沿着最终长方体的边缘连接形成一个盒子。展开图仅沿着最终盒子的边缘折叠。第一组样例第三组样例Bella 是一名软件开发人员她的任务是检查是否可以用一个大小为w×hw \times hw×h的纸板制作一个大小为a×b×ca \times b \times ca×b×c的盒子。Bella 编写了一个程序盒子正在生产。你能做到吗输入格式第一行包含三个整数aaa、bbb和ccc——盒子的尺寸。第二行包含两个整数www和hhh——纸板的宽度和高度。所有整数都是正数且不超过10810^8108。输出格式如果可以从大小为w×hw \times hw×h的纸板上裁剪出一个大小为a×b×ca \times b \times ca×b×c的盒子则打印Yes。否则打印No。输入输出样例 #1输入 #11 2 3 6 5输出 #1Yes输入输出样例 #2输入 #21 2 3 5 5输出 #2No输入输出样例 #3输入 #31 1 1 10 2输出 #3Yes说明/提示时间限制3 秒内存限制512 MB。题面翻译由 ChatGPT-4o 提供。C实现#includeiostream#includealgorithm#includecstdiousingnamespacestd;inta[4];intx,y;booltest(){for(inti1;i6;i){for(inti1;i2;i){if(2*a[1]2*a[2]x2*a[2]a[3]y)returntrue;//情况1if(3*a[3]a[1]a[2]xa[1]a[2]y)returntrue;//情况2if(2*a[1]a[2]a[3]xa[1]a[2]a[3]y)returntrue;//情况3swap(x,y);//旋转纸张}next_permutation(a1,a4);}returnfalse;}intmain(){scanf(%d %d %d,a[1],a[2],a[3]);scanf(%d %d,x,y);boolflagtest();if(flag)printf(Yes);elseprintf(No);}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容

更多文章