Moo Language

Đề bài

Mô tả

Farmer John muốn học ngôn ngữ Moo, có bốn loại từ: danh từ, động từ ngoại, động từ nội và liên từ. Ngôn ngữ có quy tắc ngữ pháp chặt chẽ.

Các dạng câu hợp lệ:

  • Loại 1: danh từ + động từ nội.
  • Loại 2: danh từ + động từ ngoại + danh từ(, danh từ)*, trong đó ít nhất một danh từ theo sau động từ, và dấu phẩy đứng trước mỗi danh từ sau danh từ đầu tiên.

Hai câu đơn có thể nối bằng một liên từ tạo thành câu ghép (không thể nối thêm nữa). Mỗi câu đơn hoặc câu ghép kết thúc bằng dấu chấm.

Cho N từ, C dấu phẩy và P dấu chấm, hãy xuất ra dãy câu sử dụng số lượng từ tối đa.

Dữ liệu vào

  • Dòng 1: T (số test case, 1≤T≤100)
  • Mỗi test case:
    • Dòng 1: N, C, P (1≤P,C≤N≤103)
    • N dòng tiếp: từ và loại (noun, transitive-verb, intransitive-verb, hoặc conjunction)

Dữ liệu ra

Với mỗi test case:

  • Dòng 1: Số lượng từ tối đa sử dụng được
  • Dòng 2: Dãy câu hợp lệ đạt số từ tối đa (nếu số từ > 0)

Số từ tối đa là duy nhất, nhưng dãy câu đạt được nó thì không. Nếu có nhiều dãy câu hợp lệ cùng đạt số từ tối đa, in ra dãy bất kỳ.

Ràng buộc

  • N≤1000, P,C≤N
  • Từ có 1-10 ký tự viết thường
  • Cùng một từ xuất hiện nhất quán cùng loại

Ví dụ

Input Output Giải thích
1
1 1 1
bessie noun
0 Chỉ có một danh từ, không có động từ nào nên không dựng được câu hợp lệ.
1
10 5 4
bessie noun
taught transitive-verb
flew intransitive-verb
elsie noun
farmer noun
john noun
and conjunction
and conjunction
nhoj noun
mooed intransitive-verb
9
bessie taught elsie, farmer. john flew and nhoj mooed.
Câu 1 loại 2 dùng 4 từ và 1 dấu phẩy. Câu 2 là câu ghép, dùng 5 từ. Tổng 9 trong số 10 từ, chỉ thừa một liên từ. Dãy câu khác đạt 9 từ cũng được chấp nhậ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