题目的意思大概就是给一个长方体的长宽高,问他能不能用一个w*h的纸剪出来,就是说展开图的长宽能不能比给定的小.

题目给了11中展开图的拓扑结构,我觉得这个很关键,要是题目没有给这个我可能想不到那么全面,不过题目已经给了我就分析那11个图形,发现展开图的长宽大概分为三类

假设长宽高为a,b,c,具体是多少并不重要,重要的是类别,具体的数值我们枚举一下排列就可以覆盖所有情况.

  1. 一边为 a+c+a+c,就是最长有四个连续的展开图的那些情况
    另一个边的情况有a+b+c,b+c+c,a+a+b三种.虽然具体数值没有意义,但是符号是有意义的.如果一个边是a+c+a+c这就意味着我们认为b是中间他们四个共同的边,那么b就不能出现两次.但是其他两个位置放置不同就会不一样.
  2. 一边为a+b+c+a,就是最长有三个连续展开图的情况.另一个边可能为a+b+c,b+c+c,a+a+b,同样不可能出现b出现两次的情况
  3. 一边为a+b+c+a+a,另一边为b+c

然后我们枚举排列,判断每一个排列是否存在情况满足条件

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<climits>
#include<cctype>
#include<queue>
#include<set>using namespace std;typedef long long ll;
const int INF=0x3f3f3f3f;
const int MAXN=1e5+5;int a[10];
int w,h;bool deal()
{int x,y,z;int w1,h1,h11,h12,h13,w2,h2,h21,h22,w3,h3;for(int i=0;i<3;i++){x=a[i];for(int j=0;j<3;j++){if(j==i) continue;y=a[j];for(int k=0;k<3;k++){if(k==j || k==i) continue;z=a[k];w1=x+x+z+z; h11=y+z+z; h12=x+y+z; h13=x+x+y;h1=min(h11,h12); h1=min(h1,h13);if(w1<=w && h1<=h || w1<=h && h1<=w) return true;w2=x+y+z+x; h21=x+y+z; h22=y+y+z;h2=min(h21,h22);if(w2<=w && h2<=h || w2<=h && h2<=w) return true;w3=x+y+z+x+x; h3=y+z;if(w3<=w && h3<=h || w3<=h && h3<=w) return true;}}}return false;
}int main()
{while(~scanf("%d%d%d",&a[0],&a[1],&a[2])){scanf("%d%d",&w,&h);if(deal()){printf("Yes\n");}else{printf("No\n");}}return 0;
}

CF Gym 101630 B Box相关推荐

  1. [CodeForces gym 101630 J] 过路费(最短路)

    problem 给定一张图 nnn 个点 mmm 条边,并给定阈值 kkk,以及起终点 s,ts,ts,t. 然后每条边经过都需要支付 www 的花费,形如 (u,v,w)(u,v,w)(u,v,w) ...

  2. CF Gym 100227 I题 题解

    这场Gym全名是这个:2013-2014 CT S01E01: Extended 2000 ACM-ICPC East Central North America Regional Contest ( ...

  3. Caravan Robbers CF Gym - 100134C

    https://cn.vjudge.net/problem/Gym-100134C http://codeforces.com/gym/100134/attachments 答案就是最小的min(bi ...

  4. CF Gym 100187E Two Labyrinths (迷宫问题)

    题意:问两个迷宫是否存在公共最短路. 题解:两个反向bfs建立层次图,一遍正向bfs寻找公共最短路 #include<cstdio> #include<cstring> #in ...

  5. CF GYM 100703G Game of numbers

    题意:给n个数,一开始基数为0,用这n个数依次对基数做加法或减法,使基数不超过k且不小于0,输出最远能运算到的数字个数,输出策略. 解法:dp.dp[i][j]表示做完第i个数字的运算后结果为j的可能 ...

  6. 【CF gym 103260】40th Petrozavodsk Programming Camp, Day 5,2021.2.3 水题2题

    M.Discrete Logarithm is a Joke 题意: 思路: 不难想到an=g^{an+1},因为样例给了 a[1000000]的值,所以反着推就行了. 记得开int128,longl ...

  7. cf Gym 101086M ACPC Headquarters : AASTMT (Stairway to Heaven)

    题目: Description standard input/output As most of you know, the Arab Academy for Science and Technolo ...

  8. CF Gym 100685A Ariel

    传送门 A. Ariel time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  9. cf gym 102785

    日常训练系列~ 本人在成功的过了三题后完美摸鱼 然后 然后终榜上就真的只过了三题 哭唧唧 传送门 a.A lazy controller:签到题,给n组数据,每组数据有a b两个数构成,如果b不是a的 ...

最新文章

  1. go语言学习(一)——go语言简介和环境搭建
  2. c语言memset函数用法,深入学习C语言中memset()函数的用法
  3. 页面置换算法——最佳置换算法、最近最少使用算法、先进先出算法、时钟置换算法
  4. ieda ts文件报错_使用TS开发微信小程序(1):环境搭建——VSCode+TS
  5. switch语句判断范围_MQL5从入门到精通【第四章】(一)条件判断语句
  6. bzoj 4952: [Wf2017]Need for Speed(二分)
  7. linux配置svn 报错,linux配置svn全过程及问题解决方案
  8. 17.TCP/IP 详解卷1 --- TCP: 传输控制协议
  9. WINDOWS蓝屏照片
  10. HTML签名生成图片+可加水印
  11. 关于面试“有戏”和“没戏”的信号
  12. 手摸手带你写项目----秒杀系统(一)
  13. 0基础女生学网络安全合适吗
  14. Python大数据分析与挖掘实战微课版答案 Python大数据分析与挖掘实战课后答案 例题 课后作业 python题目 python题库 数据分析与挖掘题库 数据分析与挖掘项目
  15. 调用钉钉api报错:机器人发送签名过期;solution:签名生成时间和发送时间请保持在 timestampms 以内
  16. 8086寻址方式图解
  17. uniapp template标签的使用记录
  18. android 自动化 微信,C#手把手教你玩微信自动化
  19. java猫大叫一声_为什么我的猫一直叫着呢?
  20. 生命不可承受之重, 请关爱过劳人员

热门文章

  1. MyBatis操作指南-与Spring集成(基于注解)
  2. 进阶篇-用户界面:4.Android中常用组件
  3. POJ 1944 Fiber Communications (枚举 + 并查集 OR 线段树)
  4. Visual Studio 2010旗舰版在安装Windows Phone 7 SDK后项目模版里没有Windows Phone 项目解决办法...
  5. 晚上答辩的理论知识准备
  6. WebHelper类
  7. mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
  8. 正方体最快最简单画_素描新手入门第一幅画可不只是“正方体”
  9. Linux将硬盘转化为pv,Linux扩展硬盘 物理卷(PV) 卷组(VG) 逻辑卷(LV)
  10. JSP中Request属性范围