Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

코드와이

[BAEKJOON] 6603. 로또 본문

acmicpc

[BAEKJOON] 6603. 로또

코드와이 2021. 3. 6. 22:57

 

문제링크

www.acmicpc.net/problem/6603

 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net

 

package acmicpc.Silver2;

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

public class 로또 {
	static int n;
	static boolean[] visited;
	static int[] input, numbers;
	static StringBuilder sb;
	
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		sb = new StringBuilder();
		
		while(true) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			
			n = Integer.parseInt(st.nextToken());
			
			if(n == 0) break;
			input = new int[n];
			
			for(int i = 0 ; i < n ; i++) {
				input[i] = Integer.parseInt(st.nextToken());
			}

			visited = new boolean[n];
			numbers = new int[6];
			go(0, 0);
			sb.append("\n");
		}
		sb.setLength(sb.length() - 2);
		System.out.println(sb);
	}

	public static void go(int cnt, int idx) {
		
		if ( cnt == 6 ) {
			
			for(int i = 0 ; i < 6 ; i++) {
				sb.append(numbers[i]).append(" ");
			}
			sb.setLength(sb.length() - 1);
			sb.append("\n");
			return;
		}
		
		if ( idx == n ) return;

		numbers[cnt] = input[idx];
		go(cnt + 1, idx + 1);
		go(cnt, idx + 1);
	}
}

'acmicpc' 카테고리의 다른 글

[BAEKJOON] 7562. 나이트의 이동  (0) 2021.03.12
[BAEKJOON] 1541. 잃어버린 괄호  (0) 2021.03.07
[BAEKJOON] 베르트랑_공준  (0) 2021.03.05
[BAEKJOON] 9465. 스티커  (0) 2021.03.05
[BAEKJOON] 11724. 연결 요소의 개수  (0) 2021.03.04