trang chủ / bài tập / mochahike

Mocha và chuyến đi bộ đường dài

Đề bài

Mô tả

Thành phố có n+1 ngôi làng và 2n1 con đường một chiều. Có hai loại đường:

  • n1 con đường nối làng i tới làng i+1, với mọi 1in1.
  • n con đường được mô tả bởi dãy a1,a2,,an: nếu ai=0 thì có đường một chiều từ làng i tới làng n+1; nếu ai=1 thì có đường một chiều từ làng n+1 tới làng i.

Hãy tìm một hành trình đi qua mỗi ngôi làng đúng một lần. Hành trình có thể bắt đầu và kết thúc ở làng bất kỳ, nhưng mỗi bước phải đi theo chiều của một con đường đã cho. Nếu không tồn tại hành trình như vậy, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu. Mỗi bộ dữ liệu gồm hai dòng.
  • Dòng đầu của mỗi bộ chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an (mỗi ai bằng 0 hoặc 1).

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một dòng gồm n+1 số nguyên, trong đó số thứ i là ngôi làng thứ i trong hành trình. Nếu không tồn tại hành trình, in ra 1.

Nếu có nhiều đáp án đúng, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1t20
  • 1n104
  • 0ai1
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 104.

Ví dụ

Input Output Giải thích
2
3
0 1 0
3
1 1 0
1 2 3 4
1 2 3 4
Bộ 1: a3=0 nên có đường 34, đi 1234. Bộ 2: tương tự, a3=0 nên 1234.
1
3
0 1 1
1 4 2 3 a1=0 cho đường 14a2=1 cho đường 42, nên chèn làng 4 giữa 12: 1423.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0