반응형

 

[광고 누르면 오늘의 행운 상승!!]

 

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

 

 

6359번: 만취한 상범

문제 서강대학교 곤자가 기숙사의 지하에는 n개의 방이 일렬로 늘어선 감옥이 있다. 각 방에는 벌점을 많이 받은 학생이 구금되어있다. 그러던 어느 날, 감옥 간수인 상범이는 지루한 나머지 정신나간 게임을 하기로 결정했다. 게임의 첫 번째 라운드에서 상범이는 위스키를 한 잔 들이키고, 달려가며 감옥을 한 개씩 모두 연다. 그 다음 라운드에서는 2, 4, 6, ... 번 방을 다시 잠그고, 세 번째 라운드에서는 3, 6, 9, ... 번 방이 열려있으면 잠그고

www.acmicpc.net

간단한 배열 문제

1. round만큼 나눈다. 나누어떨어지면 문을 열거나 닫는다 

2. 마지막에 열려있는 문의 갯수를 구한다.

지루해서 감옥 문을 여는 상범이..

package Study0307;

import java.io.*;
import java.util.*;

public class 만취한상범 {
	public static int N,M,ans;
	public static boolean open[];
	
	public static void main(String[] args) throws Exception {
		System.setIn(new FileInputStream("test.txt"));
		Scanner sc = new Scanner(System.in);

		int T  = sc.nextInt();
		
		for (int tc = 0; tc < T; tc++) {
			N = sc.nextInt();
			int round = 1;
			open = new boolean[N];
			
			for (int i = 0; i < N; i++) {
				for (int r = 1; r <= N; r++) {
					if(r%round == 0) {
						open[r-1] = !open[r-1];
					}
				}
				round++;
			}
			int cnt = 0;
			for (int i = 0; i < N; i++) {
				if(open[i]) cnt++;
			}
			System.out.println(cnt);
		}
	}
}
반응형

+ Recent posts