trang chủ / đề bài / farmgrid

In Dãy Số

Đề bài

Mô tả

Bessie đang học lập trình với một ngôn ngữ đơn giản gồm hai loại câu lệnh:

  • PRINT c: In ra số nguyên c vào cuối dãy kết quả.
  • REP o ... END: Thực thi chương trình bên trong o lần (o≥1).

Các câu lệnh REP có thể lồng nhau. Số lượng câu lệnh PRINT trong chương trình được gọi là độ sâu của chương trình.

Cho một dãy gồm N số nguyên dương, mỗi số không vượt quá K. Hỏi liệu có tồn tại chương trình với nhiều nhất K câu lệnh PRINT (không giới hạn số câu lệnh REP) để in ra dãy đó không?

Dữ liệu vào

  • Dòng 1: Số nguyên T — số bộ test (1≤T≤100)
  • Với mỗi bộ test:
    • Dòng 1: Hai số nguyên N và K (1≤N≤100, 1≤K≤3)
    • Dòng 2: N số nguyên dương, mỗi số ≤K

Dữ liệu ra

Với mỗi bộ test, in YES nếu tồn tại chương trình hợp lệ, ngược lại in NO.

Ràng buộc

  • 1≤T≤100
  • 1≤N≤100
  • 1≤K≤3

Ví dụ

Input Output Giải thích
2
1 1
1
4 1
1 1 1 1
YES
YES
Test 1: PRINT 1 in ra dãy [1]. Test 2: REP 4, PRINT 1, END in ra [1,1,1,1].
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
YES
NO
YES
NO
YES
YES
YES
YES
YES
NO
NO
Với K=2, dãy hợp lệ khi có thể phân tích thành các block lặp. Với K=3, cần kiểm tra lồng nhau phức tạp hơn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0