1299:Polar Explorer

keyword

幾何 C++

概要


図の情報と燃料yが与えられる。1単位燃料で5単位距離進むことができる。自分の位置から目標まで辿り着いて戻ってくることができるか判定する問題。
zが180度より大きい場合に注意するだけで後は書くだけ。
これでAC300個目。200台はそこそこ順調だったけどそろそろ問題分が長いからとかいって敬遠してると辛いことになりそう。

int main(){
    char str[20];
    int x, y, z;

    while(scanf("%s\n",str)){
        if(!strcmp(str,"ENDOFINPUT")) break;
        scanf("%d%d%d\n",&x,&y,&z);
        z = min(z,360-z);

        if(2*x*z*PI/180.0 < 5*y+EPS )
            printf("YES %d\n",(int)(y-(2*x*(z*PI/180))/5+EPS));
        else
            printf("NO %d\n",5*y);

        scanf("%s\n",str);
    }

    return 0;
}