본문 바로가기

PS/boj

[BOJ] 3546 Headshot

문제 링크

www.acmicpc.net/problem/3546

풀이

만약 랜덤으로 회전시킨 후 방아쇠를 당긴다면 살 확률은 (0의 개수)/(1의 개수)이다.
회전시키지 않고 바로 방아쇠를 당긴다면 살 확률은 (자신의 뒤에 0이 있는 0의 개수)/(0의 개수)이다.
두 확률을 비교해서 결과를 내면 된다.

이때, 실린더는 환형이므로 맨 앞과 맨 끝이 연결되어 있음에 주의하자.

Java 코드

더보기
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();

        int cnt = 0, cnt2 = 0;
        for (int i = 0; i < str.length(); ++i) {
            if (str.charAt(i) == '0') {
                ++cnt;
                if (i > 0 && str.charAt(i - 1) == '0') ++cnt2;
            }
        }
        if (str.charAt(0) == '0' && str.charAt(str.length() - 1) == '0') ++cnt2;

        if (cnt * cnt == str.length() * cnt2) System.out.println("EQUAL");
        else if (cnt * cnt < str.length() * cnt2) System.out.println("SHOOT");
        else System.out.println("ROTATE");
    }
}

'PS > boj' 카테고리의 다른 글

[BOJ] 5637 가장 긴 단어  (0) 2021.01.22
[BOJ] 4176 Digits  (0) 2021.01.22
[BOJ] 20500 Ezreal 여눈부터 가네 ㅈㅈ  (0) 2021.01.20
[BOJ] 1359 복권  (0) 2021.01.20
[BOJ] 20673 Covid-19  (0) 2021.01.20