Thời gian chạy bộ

Đề bài

Mô tả

Cho một lưới gồm n hàng và m cột. Giữa mỗi cặp ô kề cạnh nhau có hai con đường một chiều dài một ki-lô-mét: một đường đi từ ô thứ nhất sang ô thứ hai và một đường đi ngược lại. Như vậy tổng cộng có đúng 4nm2n2m con đường.

Một người muốn chạy đúng k ki-lô-mét theo các quy tắc sau:

  • Xuất phát tại ô góc trên bên trái của lưới.
  • Mỗi bước di chuyển sang một ô kề cạnh: lên (ký hiệu U), xuống (D), sang trái (L) hoặc sang phải (R). Nếu đang ở ô (i,j) thì U sang (i1,j), D sang (i+1,j), L sang (i,j1), R sang (i,j+1).
  • Thực hiện đúng k bước, có thể kết thúc tại ô bất kỳ.
  • Không được ra khỏi lưới tại bất kỳ thời điểm nào.
  • Không được đi lại bất kỳ con đường nào quá một lần (mỗi đường một chiều chỉ được đi tối đa một lần). Tuy nhiên có thể ghé thăm cùng một ô nhiều lần.

Hãy xác định xem có thể chạy đúng k ki-lô-mét theo các quy tắc trên hay không. Nếu có, hãy in ra một cách chạy.

Để lời chạy ngắn gọn, bạn phải mô tả nó bằng không quá 3000 bước gộp. Mỗi bước gộp gồm một số nguyên f và một xâu s (độ dài từ 1 đến 4) chỉ gồm các ký tự trong UDLR, có nghĩa là lặp lại xâu s đúng f lần. Các bước gộp được thực hiện theo thứ tự in ra.

Ví dụ, nếu các bước gộp là 2 RUD, 3 UUL thì dãy di chuyển thực tế là RUD + RUD + UUL + UUL + UUL = RUDRUDUULUULUUL.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, m, k — số hàng, số cột của lưới và tổng quãng đường muốn chạy.

Dữ liệu ra

Nếu không thể chạy đúng k ki-lô-mét, in ra NO.

Ngược lại, in ra YES ở dòng đầu. Dòng thứ hai in số nguyên a (1a3000) — số bước gộp. Sau đó in a dòng, mỗi dòng gồm một số nguyên f và một xâu s mô tả một bước gộp.

Nếu có nhiều đáp án, in ra bất kỳ đáp án hợp lệ nào.

Ràng buộc

  • 1n,m500
  • 1k109

Ví dụ

Input Output Giải thích
3 3 4 YES
2
2 R
2 L
Dãy di chuyển là RRLL: sang phải 2 lần rồi sang trái 2 lần, tổng cộng 4 bước, không đi lại con đường nào. Mọi lộ trình hợp lệ khác dài đúng 4 bước cũng được chấp nhận.
3 3 1000000000 NO Lưới 3×3 chỉ có 4·966=24 con đường, không thể chạy 109 ki-lô-mét mà không đi lại đường nào.
2 2 4 YES
4
1 R
1 L
1 D
1 R
Dãy di chuyển RLDR gồm 4 bước phân biệt, không con đường nào bị lặp.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0