티스토리 뷰

728x90

문제

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

 

1592번: 영식이와 친구들

일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다. 4번은 1번에

www.acmicpc.net

 

 

풀이 및 소스코드

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

class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
		st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		int m = Integer.parseInt(st.nextToken());
		int l = Integer.parseInt(st.nextToken());
		
		int[] ball_cnt = new int[n+1];
		int res = 0;
		int now=1;
		while(true) {
			ball_cnt[now]++;
			if(ball_cnt[now]==m) break;
			//만약 공을 m번 받으면 break
			
			if(ball_cnt[now]%2==1) { //홀수일 때,
				now +=l;
				if(now>n) {
					now = now-n;
				}
			}else {
				now -=l;
				if(now<=0) {
					now += n;
				}
			}
			res++;
		}
		System.out.println(res);
	}

}
반응형