【数学题】工具箱
来源:互联网 发布:软件内广告屏蔽 编辑:程序博客网 时间:2024/04/28 19:57
工具箱
金字塔中有一个房间名叫“无归之室”。房间地面完全由相同的矩形瓷砖覆盖。房间里布满无数的机关和陷阱,这正是其名字的由来。考古队花了几年时间研究对策,最后他们想出了一个方案。一台遥控的机器人将被送入房间,解除所有机关,然后返回。为了不触动机关,机器人必须走在瓷砖的中心区域上,绝对不能碰到瓷砖的边缘。如果走错一步,机器人会被落下的岩石砸成薄饼。
当考古队正准备行动的时候,他们发现了一件可怕的事情:他们没有考虑到机器人携带的工具箱。由于机器人必须将工具箱放在地面上才能开始解除机关,工具箱不可碰到瓷砖的边缘。现在他们急需你编程判断工具箱可否放下。
输入格式
输入文件有多组数据组成。每组数据仅含一行四个正整数A,B,X,Y。A,B为瓷砖的长和宽,X,Y为工具箱底面的长和宽(工具箱为长方体)。最后一组数据A=B=X=Y=0,标志文件结束,不需要处理。
输出格式
若工具箱能以某种方式放在地上,则输出”Escape is possible.”,否则输出”Box cannot be dropped.”。
输入样例
10 10 8 8
8 8 10 10
0 0 0 0
输出样例
Escape is possible.
Box cannot be dropped.
数据范围:
100%的数据满足1≤A,B,X,Y≤50000;
===================================
================================
var a,b,x,y:longint;procedure init;begin assign(input,'box.in'); assign(output,'box.out'); reset(input); rewrite(output);end;procedure terminate;begin close(input); close(output); halt;end;procedure main;var i:longint; flag:boolean;begin readln(a,b,x,y); while (a<>0)and(b<>0)and(x<>0)and(y<>0) do begin flag:=false; for i:=1 to 7854 do begin if ((sin(i/10000)*y+cos(i/10000)*x<b) and (cos(i/10000)*y+sin(i/10000)*x<a))or ((sin(i/10000)*y+cos(i/10000)*x<a) and (cos(i/10000)*y+sin(i/10000)*x<b)) then flag:=true; end; if flag then writeln('Escape is possible.') else writeln('Box cannot be dropped.'); readln(a,b,x,y); end;end;begin init; main; terminate;end.
- 【数学题】工具箱
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 数学题
- 工具箱
- Java Bitset和位运算
- 判断字符类型部分方法
- JavaScript基础之未定义、undefined、null
- getElementsByName
- 2.6 swapping behavior
- 【数学题】工具箱
- 游戏开发
- QQ协议分析
- 【并查集思想的应用.】疯狂的涂色
- backtracking
- windows系统不用Eclipse工具实现Android apk程序编译及打包工具
- 关于项目中的设计器
- 自定义事件的简单应用
- 一个小小鸟写的《第一个项目感受》关注此贴,得永生!