FOJ Problem 1016 无归之室
Accept: 926 Submit: 7502
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
金字塔中有一个房间名叫“无归之室”。房间地面完全由相同的矩形瓷砖覆盖。房间里布满无数的机关和陷阱,这正是其名字的由来。考古队花了几年时间研究对策,最后他们想出了一个方案。一台遥控的机器人将被送入房间,解除所有机关,然后返回。为了不触动机关,机器人必须走在瓷砖的中心区域上,绝对不能碰到瓷砖的边缘。如果走错一步,机器人会被落下的岩石砸成薄饼。
当考古队正准备行动的时候,他们发现了一件可怕的事情:他们没有考虑到机器人携带的工具箱。由于机器人必须将工具箱放在地面上才能开始解除机关,工具箱不可碰到瓷砖的边缘。现在他们急需你编程判断工具箱可否放下。
Input
Output
Sample Input
8 8 10 10
0 0 0 0
Sample Output
Box cannot be dropped.
审题:1、这一题要用实数,不能想当然直接用int
2、sqrt()括号里要求用浮点数 不能用整数
大矩形与小矩形存在三种情况
- 大矩形的长大于小矩形的长,宽大于小矩形的宽,这时肯定可以放得下去;
- 大矩形的对角线小于小矩形的对角线,那么也就没有地方容下小矩形了,这时判定否;//重点
- 当小矩形的长大于大矩形的长时,此时斜放也可能放进大矩形 //重点
# include<iostream>
# include<math.h>
using namespace std;
int QuickReject(double a,double b,double x,double y) //对全部矩形对进行初步筛选
{
if(x < a && y < b) //绝对满足要求的矩形
{
return ;
}
else if(x*x+y*y>a*a+b*b) //绝对不满足要求的矩形
{
return ;
}
else //可能满足要求也可能不满足的可疑矩形
{
return ;
}
}
int Reject(double a,double b,double x,double y) //对可疑矩形进行进一步筛选
{
double L1,L2;
L1=(a-sqrt((double)(x*x+y*y-b*b)))/;
L2=(b-sqrt((double)(x*x+y*y-a*a)))/;
if( L1*L1+L2*L2>y*y )
{
return ;
}
else
{
return ;
}
}
int main()
{
double A,B,X,Y;
while(true)
{
cin>>A>>B>>X>>Y;
if(A== && B== && X== && Y==)
{
break;
}
if(A < B)
{
double t;
t=A;A=B;B=t;
}
if(X < Y)
{
double t;
t=X;X=Y;Y=t;
}
int flag;
flag = QuickReject(A,B,X,Y);
if(flag == )
{
cout<<"Escape is possible."<<endl;
}
else if(flag == )
{
cout<<"Box cannot be dropped."<<endl;
}
else
{
flag = Reject(A,B,X,Y);
if(flag == )
{
cout<<"Escape is possible."<<endl;
}
else
{
cout<<"Box cannot be dropped."<<endl;
}
}
}
return ;
}
FOJ Problem 1016 无归之室的更多相关文章
- Problem 1016 咒文卷轴 优先队列+前缀和+rmq
题目链接: 题目 Problem 1016 咒文卷轴 Time Limit: 3000 mSec Memory Limit : 131072 KB 问题描述 小Y 是一个魔法师,有一天他获得了一卷神秘 ...
- FOJ ——Problem 1759 Super A^B mod C
Problem 1759 Super A^B mod C Accept: 1368 Submit: 4639Time Limit: 1000 mSec Memory Limit : 32 ...
- FOJ Problem 1015 土地划分
Problem 1015 土地划分 Accept: 823 Submit: 1956Time Limit: 1000 mSec Memory Limit : 32768 KB Probl ...
- foj Problem 2107 Hua Rong Dao
Problem 2107 Hua Rong Dao Accept: 503 Submit: 1054Time Limit: 1000 mSec Memory Limit : 32768 K ...
- foj Problem 2282 Wand
Problem 2282 Wand Accept: 432 Submit: 1537Time Limit: 1000 mSec Memory Limit : 262144 KB Prob ...
- FOJ Problem 2273 Triangles
Problem 2273 Triangles Accept: 201 Submit: 661Time Limit: 1000 mSec Memory Limit : 262144 KB P ...
- foj Problem 2275 Game
Problem D Game Accept: 145 Submit: 844Time Limit: 1000 mSec Memory Limit : 262144 KB Problem D ...
- foj Problem 2283 Tic-Tac-Toe
Prob ...
- FOJ Problem 2257 Saya的小熊饼干
...
随机推荐
- Android笔记(预安装APK)
一般一个安卓的产品在出厂时,会预安装许多APK,关于这些APP,主要分为下面这几类 1.系统级别APK 这一类应用一般是:电话/设置或者厂家自己特定的应用. 2.系统预安装APK 因为商业原因,产品出 ...
- java基础 xml 使用dom4j解析 xml文件 servlet根据pattern 找到class
package com.swift.kaoshi; import java.io.File; import java.util.List; import java.util.Scanner; impo ...
- iOS程序猿如何快速掌握 PHP,化身"全栈攻城狮"?
这是一篇以 iOS 开发人员的视角写给广大iOS 程序猿的 PHP 入门指南.在这篇文章里我努力去发掘 objectiv-c 与 php 之间的共性,来帮助有一定 iOS 开发经验的攻城狮来快速上手一 ...
- html和node.js实现websocket
websocket websocket是HTML5开始提供的一种单个TCP连接上进行全双工通讯的协议.它让客户端和服务端之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.浏览器和服务器只需要 ...
- python导包学习总结
python初学者,对于导包纠结了不少时间,总结分享,持续前进~ Python导包的两种方法: 1.1 from 包.模块 import 方法名,调用时直接使用方法名() 1.2 from 包. ...
- macOs 使用Homebrew升级到MySQL 8系列之后,php无法连接解决方法
当前时间2018-9-28 在使用brew install mysql 默认安装为 MySQL 8,但是使用php连接到数据库之后,出现了这种错误 (Unexpected server respose ...
- 【数据库】MySQL 从安装到命令
一, MySQL 的安装于配置 我是通过百度云盘的方式下载的.建议登录百度云终端,然后点击下面的链接,选择要安装的版本,解压安装. http://www.h2ero.cn/pan/share/17cd ...
- 3714: [PA2014]Kuglarz
3714: [PA2014]Kuglarz 链接 思路: 好题.对于每个点都需要确定它的值,那么一个点可以直接询问[i,i]来确定,或者已经知道了[i,j]和[i+1,j]推出来. 但是可能产生冲突, ...
- 解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0
解决办法是你需要将工程根目录build.gradle中的 classpath 'com.android.tools.build:gradle:2.2.0' 更改成 classpath 'com.and ...
- The Django Book
The Django Book Table of contents 2.0, English -> Chinese Django book 2.0 的中文翻译. 最近更新 - 贡献者 方便自己也 ...