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

Ghế Màu

Đề bài

Mô tả

n chiếc ghế xếp thành vòng tròn, đánh số từ 1 đến n. Ghế i kề với ghế i+1 (với 1i<n) và ghế n kề với ghế 1. Mỗi ghế được tô màu đỏ (R) hoặc xanh (B).

Nhiệm vụ của bạn là tìm hai ghế kề nhau có cùng màu.

Giao thức tương tác

Đây là bài toán tương tác. Chương trình của bạn giao tiếp với hệ thống đánh giá thông qua đầu vào/ra chuẩn.

Đầu tiên, chương trình đọc số nguyên n.

Sau đó, bạn có thể thực hiện hai loại thao tác:

  • ? i (với 1in): Hỏi màu của ghế thứ i. Hệ thống trả lời R (đỏ) hoặc B (xanh).
  • ! i: Khai báo rằng ghế i và ghế kế tiếp (ghế i+1, hoặc ghế 1 nếu i=n) có cùng màu. Chương trình kết thúc sau thao tác này.

Bạn được phép hỏi tối đa 20 câu hỏi dạng ?.

Quan trọng: Sau mỗi lần in ra, bạn phải flush output:

  • C++: cout << endl; hoặc cout.flush();
  • Python: print(..., flush=True)

Ràng buộc

  • 3n2·105
  • n là số lẻ
  • Số truy vấn tối đa: Q20

Ví dụ

Chương trình Hệ thống Giải thích
5 n=5 ghế. Màu: R B B R B
? 1 R Ghế 1 màu đỏ
? 2 B Ghế 2 màu xanh
? 3 B Ghế 3 màu xanh
! 2 Ghế 2 và ghế 3 đều xanh. Đúng!

Ghi chú

n là số lẻ, luôn tồn tại ít nhất một cặp ghế kề nhau có cùng màu (nguyên lý chuồng bồ câu: không thể tô xen kẽ hoàn hảo trên vòng tròn có số lẻ đỉnh).

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