2272:Bullseye

keyword

幾何 シミュレーション C++

概要

ダーツの得点と勝敗を判定する問題。的の中心を原点とした座標が与えられる。
書くだけ。

int main(){
    int p1, p2, i, j;
    double r1[3], r2[3], rr[] = {3.0, 6.0, 9.0, 12.0, 15.0}, x, y;

    while(scanf("%lf%lf",&x,&y)){
        if(x==-100) break;
        r1[0] = dist(x,y);
        for(i=1;i<3;i++){
            scanf("%lf%lf",&x,&y);
            r1[i] = dist(x,y);
        }
        REP(i,3){
            scanf("%lf%lf",&x,&y);
            r2[i] = dist(x,y);
        }

        p1 = p2 = 0;
        REP(i,3){
            REP(j,5){
                if(r1[i] < rr[j] + EPS){
                    p1 += (100-20*j);
                    break;
                }
            }
        }

        REP(i,3){
            REP(j,5){
                if(r2[i] < rr[j] + EPS){
                    p2 += (100-20*j);
                    break;
                }
            }
        }

        printf("SCORE: %d to %d, ",p1,p2);
        if(p1==p2) printf("TIE.\n");
        else if(p1<p2) printf("PLAYER 2 WINS.\n");
        else printf("PLAYER 1 WINS.\n");
    }

    return 0;
}