본문 바로가기

OJ

[BOJ] 27960 사격 내기 (JAVA)

https://www.acmicpc.net/problem/27960

 

27960번: 사격 내기

A, B, C는 올해에도 예비군 훈련을 받으러 간다. 이번 예비군 훈련 과정 중에는 영점 사격이 있으며, 10개의 과녁 각각에 점수를 매겨 맞춘 과녁 점수의 총합을 측정한다. 과녁을 맞혔을 때, 과녁별

www.acmicpc.net

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	
    public static void main(String[] args) throws Exception {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int A = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());
        int target = 512;
        int score = 0;

        while (0 < target) {
            if (target <= A && B < target) {
                score += target;
                A -= target;
            } else if (target <= B && A < target) {
                score += target;
                B -= target;
            } else if (target <= A && target <= B) {
                A -= target;
                B -= target;
            }
            target /= 2;
        }

        System.out.print(score);

    }
	
}