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

Kỳ nghỉ của Vasya

Đề bài

Mô tả

Vasya có n ngày nghỉ và muốn dùng chúng để vừa rèn luyện IT vừa chơi thể thao. Với mỗi ngày, Vasya biết trước hai thông tin: hôm đó phòng gym có mở cửa hay không, và hôm đó trên mạng có tổ chức một cuộc thi (contest) hay không.

Mỗi ngày Vasya có thể chọn một trong các việc: nghỉ ngơi, tham gia contest (chỉ khi hôm đó có contest), hoặc tập gym (chỉ khi hôm đó gym mở cửa). Vasya không muốn làm cùng một việc trong hai ngày liên tiếp: anh sẽ không tập gym hai ngày liền nhau, cũng không tham gia contest hai ngày liền nhau.

Hãy tìm số ngày ít nhất mà Vasya phải nghỉ ngơi (tức là những ngày anh không tập gym cũng không tham gia contest).

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n là số ngày nghỉ.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an, trong đó:
    • ai=0: ngày thứ i gym đóng cửa và không có contest;
    • ai=1: ngày thứ i gym đóng cửa nhưng có contest;
    • ai=2: ngày thứ i gym mở cửa nhưng không có contest;
    • ai=3: ngày thứ i gym mở cửa và có contest.

Dữ liệu ra

In ra một số nguyên là số ngày nghỉ ngơi ít nhất, thỏa mãn ràng buộc không làm cùng một việc trong hai ngày liên tiếp.

Ràng buộc

  • 1n100
  • 0ai3

Ví dụ

Input Output Giải thích
4
1 3 2 0
2 Vasya tham gia contest ngày 1 và tập gym ngày 3. Hai ngày còn lại (2 và 4) phải nghỉ.
7
1 3 3 2 1 2 3
0 Tham gia contest vào các ngày 1, 3, 5, 7 và tập gym vào các ngày còn lại, không phải nghỉ ngày nào.
2
2 2
1 Chỉ được tập gym một trong hai ngày (không thể tập gym hai ngày liền), nên phải nghỉ một ngày.

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 1.26.3 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