hdu 2368 Alfredo's Pizza Restaurant(简略数学题)

hdu 2368 Alfredo's Pizza Restaurant(简单数学题)

转载请注明出处:http://blog.****.net/u012860063

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2368


题目很简单,但是比较恶心,用sqrt WA到死也不过,不用秒过;

忍不住吐槽一下;


Problem Description
Traditionally after the Local Contest, judges and contestants go to their favourite restaurant, Alfredos Pizza Restaurant. The contestants are really hungry after trying hard for five hours. To get their pizza as quickly as possible, they just decided to order one big pizza for all instead of several small ones. They wonder whether it is possible to put the big rectangular pizza on the surface of the round table such that it does not overhang the border of the table. Write a program that helps them!
 
Input
The input file contains several test cases. Each test case starts with an integer number r, the radius of the surface of the round table the contestants are sitting at. Input is terminated by r=0. Otherwise, 1 ≤ r ≤ 1000. Then follow 2 integer numbers w and l specifying the width and the length of the pizza, 1 ≤ w ≤ l ≤ 1000.
 
Output
Output for each test case whether the ordered pizza will fit on the table or not. Adhere to the format shown in the sample output. A pizza which just touches the border of the table without intersecting it is considered fitting on the table, see example 3 for clarification.
 
Sample Input
38 40 60 35 20 70 50 60 80 0
 
Sample Output
Pizza 1 fits on the table. Pizza 2 does not fit on the table. Pizza 3 fits on the table.


Source
2008水题公开赛(比速度,OJ压力测试)  


注意,不合适的时候是fit,合适的时候是fits;

代码如下:

#include <cstdio>
int main()
{
	int cas = 0;
	int r, w, l;
	while(scanf("%d",&r) && r)
	{
		scanf("%d%d",&w,&l);
		printf("Pizza %d ",++cas);
		if(4*r*r-w*w < l*l)
		{
			printf("does not fit on the table.\n");
		}
		else
			printf("fits on the table.\n");
	}
	return 0;
}