[BOJ 2237] 수열 축소
View as PDF
Submit solution
Points:
4
Time limit:
2.0s
Memory limit:
128M
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
N개의 양수로 이루어진 수열 {A[1], A[2], …, A[N]}이 있다. 이 수열에 A[i]에서 A[i+1]을 빼는 축소 연산을 적용하려 한다. 축소 연산은 CON이라는 함수로 나타낼 수 있으며, CON(A, i)를 수행하면 {A[1], A[2], …, A[i-1], A[i] - A[i+1], A[i+2], …, A[N]}의 수열을 얻는다.</p>
이와 같은 축소 연산을 N-1번 적용하면, 수열의 길이가 N-1, N-2, …, 1이 되어 결국에는 한 수만 남게 된다. 이와 같은 축소 연산을 적용하여 T라는 수를 만들 수 있는지 알아보려 한다.
예를 들어 {12, 10, 4, 3, 5}라는 수열에 다음과 같은 축소 연산을 적용하면 4를 만들 수 있다.
- CON( {12, 10, 4, 3, 5}, 2 ) = {12, 6, 3, 5}
- CON( {12, 6, 3, 5}, 3 ) = {12, 6, -2}
- CON( {12, 6, -2}, 2 ) = {12, 8}
- CON( {12, 8}, 1 ) = {4}
첫째 줄에 N(1 ≤ N ≤ 100), T(0 ≤ |T| ≤ 10,000)이 주어진다. 다음 줄에는 A[1], A[2], … A[N]이 주어진다. A[i]는 1보다 크거나 같고, 100보다 작거나 같은 자연수이다.
출력 형식
첫째 줄부터 사용한 순서대로 축소 연산에서의 i를 출력한다. 항상 가능한 경우만 입력으로 주어지며, 답이 여러 개 존재할 경우에는 임의의 하나를 출력하면 된다.
예제 입력 1
4 5
10 2 5 2
예제 출력 1
1
2
1
예제 입력 2
5 8
12 10 4 3 5
예제 출력 2
2
3
2
1
힌트
실제 기출문제는 1 ≤ N ≤ 30, 1 ≤ A[i] ≤ 30 이며, 불가능한 경우에는 0을 출력해야 한다.
Comments