Logo
(追記) (追記ここまで)

33737번 - Printing Sequences 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 2048 MB64373457.627%

문제

Bessie is learning to code using a simple programming language. She first defines a valid program, then executes it to produce some output sequence.

Defining:

  • A program is a nonempty sequence of statements.
  • A statement is either of the form "PRINT $c$" where $c$ is an integer, or "REP $o$", followed by a program, followed by "END," where $o$ is an integer that is at least 1.

Executing:

  • Executing a program executes its statements in sequence.
  • Executing the statement "PRINT $c$" appends $c$ to the output sequence.
  • Executing a statement starting with "REP $o$" executes the inner program a total of $o$ times in sequence.

An example of a program that Bessie knows how to write is as follows.

REP 3
 PRINT 1
 REP 2
 PRINT 2
 END
END

The program outputs the sequence $[1,2,2,1,2,2,1,2,2]$.

Bessie wants to output a sequence of $N$ (1ドル \le N \le 100$) positive integers. Elsie challenges her to use no more than $K$ (1ドル \le K \le 3$) "PRINT" statements. Note that Bessie can use as many "REP" statements as she wants. Also note that each positive integer in the sequence is no greater than $K$.

For each of $T$ (1ドル \le T \le 100$) independent test cases, determine whether Bessie can write a program that outputs some given sequence using at most $K$ "PRINT" statements.

입력

The first line contains $T$.

The first line of each test case contains two space-separated integers, $N$ and $K$.

The second line of each test case contains a sequence of $N$ space-separated positive integers, each at most $K,ドル which is the sequence that Bessie wants to produce.

출력

For each test case, output "YES" or "NO" (case sensitive) on a separate line.

제한

예제 입력 1

2
1 1
1
4 1
1 1 1 1

예제 출력 1

YES
YES

For the second test case, the following code outputs the sequence $[1,1,1,1]$ with 1ドル$ "PRINT" statement.

REP 4
 PRINT 1
END

예제 입력 2

11
4 2
1 2 2 2
4 2
1 1 2 1
4 2
1 1 2 2
6 2
1 1 2 2 1 1
10 2
1 1 1 2 2 1 1 1 2 2
8 3
3 3 1 2 2 1 2 2
9 3
1 1 2 2 2 3 3 3 3
16 3
2 2 3 2 2 3 1 1 2 2 3 2 2 3 1 1
24 3
1 1 2 2 3 3 3 2 2 3 3 3 1 1 2 2 3 3 3 2 2 3 3 3
9 3
1 2 2 1 3 3 1 2 2
6 3
1 2 1 2 2 3

예제 출력 2

YES
NO
YES
NO
YES
YES
YES
YES
YES
NO
NO

For the first test case, the following code outputs the sequence $[1,2,2,2]$ with 2ドル$ "PRINT" statements.

PRINT 1
REP 3
 PRINT 2
END

For the second test case, the answer is "NO" because it is impossible to output the sequence $[1,1,2,1]$ using at most 2ドル$ "PRINT" statements.

For the sixth test case, the following code outputs the sequence $[3,3,1,2,2,1,2,2]$ with 3ドル$ "PRINT" statements.

REP 2
 PRINT 3
END
REP 2
 PRINT 1
 REP 2
 PRINT 2
 END
END

힌트

출처

Olympiad > USA Computing Olympiad > 2024-2025 Season > USACO 2025 February Contest > Bronze 3번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /