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

Nauuo và Chồng Bài

Đề bài

Mô tả

n lá bài được đánh số từ 1 đến n, cùng với n lá bài trống (đánh số 0). Tổng cộng 2n lá bài được xếp thành một chồng, sau đó Nauuo rút n lá lên tay. n lá trên tay được cho trong dữ liệu vào, và n lá còn lại trong chồng cũng được cho theo thứ tự từ trên xuống dưới.

Trong một thao tác, Nauuo chọn một lá bài trên tay và chơi nó — đặt lá đó xuống đáy chồng, rồi rút lá trên cùng của chồng lên tay.

Nauuo muốn chồng bài chứa các lá được đánh số theo thứ tự tăng dần: lá thứ i từ trên xuống (tính từ đỉnh) là lá số i. Nói cách khác, sau khi hoàn tất, chồng từ trên xuống phải là 1,2,,n.

Hãy tính số thao tác ít nhất để đạt được điều đó.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an — các lá bài trên tay Nauuo (0 là lá trống).
  • Dòng thứ ba chứa n số nguyên b1,b2,,bn — các lá bài trong chồng theo thứ tự từ trên xuống dưới (0 là lá trống).

Đảm bảo mỗi số từ 1 đến n xuất hiện đúng một lần, hoặc trong a hoặc trong b.

Dữ liệu ra

  • Một số nguyên duy nhất — số thao tác ít nhất.

Ràng buộc

  • 1n2·105
  • 0ai,bin

Ví dụ

Input Output Giải thích
3
0 2 0
3 0 1
2 Chơi lá 2, rút lá 3: trên tay [0,3,0], chồng [0,1,2]. Sau đó chơi lá 3: chồng thành [1,2,3].
3
0 2 0
1 0 3
4 Chơi một lá trống rồi rút lá 1, sau đó lần lượt chơi 1, 2, 3.
11
0 0 0 5 0 0 0 4 0 0 11
9 2 6 0 8 1 7 0 3 0 10
18 Cần 18 thao tác để sắp xếp lại toàn bộ chồng.

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