题目名称 | 1257. 造房子的学问 |
---|---|
输入输出 | wood.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2012-11-08加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:29, 提交:71, 通过率:40.85% | ||||
苏轼 | 100 | 0.005 s | 0.35 MiB | Pascal |
Makazeu | 100 | 0.005 s | 0.46 MiB | C++ |
o_o | 100 | 0.006 s | 4.13 MiB | Pascal |
Ezoi_XY | 100 | 0.007 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.007 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.007 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.007 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.007 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.008 s | 0.45 MiB | Pascal |
Ezoi_XY | 100 | 0.008 s | 0.45 MiB | Pascal |
本题关联比赛 | |||
20121108 |
关于 造房子的学问 的近10条评论(全部评论) | ||||
---|---|---|---|---|
BFS状态最多2^15-1种,秒之
| ||||
比赛时先写了个单向的bfs,后面又写了个双向的,结果双向的wa了一个点而单向的却AC了
张来风飘
2012-11-08 15:44
2楼
| ||||
BFS。又在用 STL 了……
|
小木屋看来已被荒置很多年了, Z4 决定首先把它修葺一下,由最健壮的 hongyan 总负责。其余的人各自到岛上去砍伐木材。
一些细微工作结束后, hongyan 决定在木屋中加一条顶梁柱,但是其他人提供的木材长度参差不齐,幸运的是几何功底扎实的他,利用已有的工具造出了一把尺子。
hongyan 首先选取了了一条最好的木材,然后他可以对这条木材作如下几种操作:
1. 接上分别由 jakrinchose ,立方, worm 提供的木材 ( 由于岛上资源丰富 , 这些木材是无限的 ) ,木材的长度会不损耗的增加 。
2. 用尺子在木材上截去该尺子长度的一段,当然 截开后的两段木材依然可以利用 。
3. 把木材对半截断,木材长度变为原来的一半。
另外 jakrinchose 等提供用于拼接的木材由于质量一般(谁说的?! ) ,不能直接使用为顶梁柱。
现在 hongyan 想知道,通过这几种操作,是否能造出需要的长度的顶梁柱(当然他手中的“最好的木材”不能完全被截去,也就是说在操作的过程中不能把“最好的木材”完全扔掉以至长度为 0 ! )假如可以,最少需要多少步工序?
输入文件 wood.in 有 5 行,第一行两个数 n, m (1<=n,m<=32767) 分别表示该木材原来的长度,和需要的长度 . 第 2 至 4 行各一个数分别是 jakrinchose ,立方, worm 提供用于拼接的木材长度 L1 , L2 , L3(L1 , L2 , L3<=32767),最后一行也是一个数,表示尺子的长度 L(L<n) 。( ZaZa 是喜欢整数的人,所以所有的数据是整数,同时,对半截断的木材多出来的非整数部分,将作为多余的成分删去,也就是该操作后,木材的长度可以用 div 2 来运算;同时,任何时候,木材长度都不应大于 32767 )。
输出文件 wood.out 仅一行,假如不能造出需要的长度,则输出“No solution.”。否则输出最少需要的工序数。
100 81 10 24 40 1
3
(样例注解:3的结果是截出1,再加上两次40)