ZOJ 1394
Polar Explorer {5571}
题意:在一个球体上,给一个角度,球半径,汽油量,一单位汽油能走的距离,计算汽油够不够两地之间往返,不够计算能走多远(话说题意是计算单程,难道用脚走回来?),够的话计算剩余的汽油量。
思路+代码如下:
#include<stdio.h>
#include<string.h>
int main(){
int i,t,tot,ang,r;
float x;
char a[100];
for(i = 1;;i++){
scanf("%s",a);
if(strlen(a)==10) //输入和输出的各种字符串!
break;
scanf("%d%d%d",&r,&tot,&ang);
if(ang>180){ //嗯。:)
ang = 360-ang;
}
x = ang*1.0/360*2*3.14159*r*1.0*2/5; //x这个变量以及r、tot、ang计算过过程中都必须是浮点型,题目给出的测试案例下面x和tot比较就能看出这一点。
if(x>tot){
x = tot*1.0000*5;
t = x; // 转化成整型,题目要求。
printf("NO %d\n",t);
scanf("%s",a);
continue;
}
if(x<=tot){
tot = (tot-x); //先带着浮点型计算。
t = tot; // 转化成整型,题目要求。
printf("YES %d\n",t);
scanf("%s",a);
continue;
}
}
return 0;
}