CF Gym 101630 B Box
题目的意思大概就是给一个长方体的长宽高,问他能不能用一个w*h的纸剪出来,就是说展开图的长宽能不能比给定的小.
题目给了11中展开图的拓扑结构,我觉得这个很关键,要是题目没有给这个我可能想不到那么全面,不过题目已经给了我就分析那11个图形,发现展开图的长宽大概分为三类
假设长宽高为a,b,c,具体是多少并不重要,重要的是类别,具体的数值我们枚举一下排列就可以覆盖所有情况.
- 一边为 a+c+a+c,就是最长有四个连续的展开图的那些情况
另一个边的情况有a+b+c,b+c+c,a+a+b三种.虽然具体数值没有意义,但是符号是有意义的.如果一个边是a+c+a+c这就意味着我们认为b是中间他们四个共同的边,那么b就不能出现两次.但是其他两个位置放置不同就会不一样. - 一边为a+b+c+a,就是最长有三个连续展开图的情况.另一个边可能为a+b+c,b+c+c,a+a+b,同样不可能出现b出现两次的情况
- 一边为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相关推荐
- [CodeForces gym 101630 J] 过路费(最短路)
problem 给定一张图 nnn 个点 mmm 条边,并给定阈值 kkk,以及起终点 s,ts,ts,t. 然后每条边经过都需要支付 www 的花费,形如 (u,v,w)(u,v,w)(u,v,w) ...
- CF Gym 100227 I题 题解
这场Gym全名是这个:2013-2014 CT S01E01: Extended 2000 ACM-ICPC East Central North America Regional Contest ( ...
- Caravan Robbers CF Gym - 100134C
https://cn.vjudge.net/problem/Gym-100134C http://codeforces.com/gym/100134/attachments 答案就是最小的min(bi ...
- CF Gym 100187E Two Labyrinths (迷宫问题)
题意:问两个迷宫是否存在公共最短路. 题解:两个反向bfs建立层次图,一遍正向bfs寻找公共最短路 #include<cstdio> #include<cstring> #in ...
- CF GYM 100703G Game of numbers
题意:给n个数,一开始基数为0,用这n个数依次对基数做加法或减法,使基数不超过k且不小于0,输出最远能运算到的数字个数,输出策略. 解法:dp.dp[i][j]表示做完第i个数字的运算后结果为j的可能 ...
- 【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 ...
- 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 ...
- CF Gym 100685A Ariel
传送门 A. Ariel time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- cf gym 102785
日常训练系列~ 本人在成功的过了三题后完美摸鱼 然后 然后终榜上就真的只过了三题 哭唧唧 传送门 a.A lazy controller:签到题,给n组数据,每组数据有a b两个数构成,如果b不是a的 ...
最新文章
- go语言学习(一)——go语言简介和环境搭建
- c语言memset函数用法,深入学习C语言中memset()函数的用法
- 页面置换算法——最佳置换算法、最近最少使用算法、先进先出算法、时钟置换算法
- ieda ts文件报错_使用TS开发微信小程序(1):环境搭建——VSCode+TS
- switch语句判断范围_MQL5从入门到精通【第四章】(一)条件判断语句
- bzoj 4952: [Wf2017]Need for Speed(二分)
- linux配置svn 报错,linux配置svn全过程及问题解决方案
- 17.TCP/IP 详解卷1 --- TCP: 传输控制协议
- WINDOWS蓝屏照片
- HTML签名生成图片+可加水印
- 关于面试“有戏”和“没戏”的信号
- 手摸手带你写项目----秒杀系统(一)
- 0基础女生学网络安全合适吗
- Python大数据分析与挖掘实战微课版答案 Python大数据分析与挖掘实战课后答案 例题 课后作业 python题目 python题库 数据分析与挖掘题库 数据分析与挖掘项目
- 调用钉钉api报错:机器人发送签名过期;solution:签名生成时间和发送时间请保持在 timestampms 以内
- 8086寻址方式图解
- uniapp template标签的使用记录
- android 自动化 微信,C#手把手教你玩微信自动化
- java猫大叫一声_为什么我的猫一直叫着呢?
- 生命不可承受之重, 请关爱过劳人员
热门文章
- MyBatis操作指南-与Spring集成(基于注解)
- 进阶篇-用户界面:4.Android中常用组件
- POJ 1944 Fiber Communications (枚举 + 并查集 OR 线段树)
- Visual Studio 2010旗舰版在安装Windows Phone 7 SDK后项目模版里没有Windows Phone 项目解决办法...
- 晚上答辩的理论知识准备
- WebHelper类
- mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
- 正方体最快最简单画_素描新手入门第一幅画可不只是“正方体”
- Linux将硬盘转化为pv,Linux扩展硬盘 物理卷(PV) 卷组(VG) 逻辑卷(LV)
- JSP中Request属性范围