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

Số bí mật của Hagrid

Đề bài

Mô tả

Thầy Hagrid đã chọn một số nguyên bí mật x trong khoảng từ 1 đến n.

Bạn có thể đặt câu hỏi theo định dạng:

? y

trong đó 1yn. Thầy Hagrid sẽ trả lời:

  • YES nếu x chia hết cho y
  • NO nếu ngược lại

Quy tắc đặc biệt

Thầy Hagrid biến hóa: Thầy Hagrid không cố định x từ đầu. Sau mỗi câu hỏi, Thầy Hagrid có thể thay đổi x, miễn là tất cả các câu trả lời trước đó vẫn nhất quán với x mới.

Thầy Hagrid luôn nói thật: Tất cả câu trả lời đều chính xác với x hiện tại.

Sau khi tìm ra đáp án, in ra:

! x

Quan trọng: Vì Thầy Hagrid biến hóa, bạn phải đảm bảo rằng sau tất cả các câu hỏi, chỉ còn duy nhất một giá trị x thỏa mãn tất cả câu trả lời. Nếu còn nhiều hơn một giá trị khả thi, Thầy Hagrid sẽ chọn giá trị khác với câu trả lời của bạn.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên n.

Dữ liệu ra

Để hỏi: ? y (với 1yn)

Để trả lời: ! x

Sau mỗi truy vấn, bạn phải flush output.

Ràng buộc

  • 1n100
  • Bạn được hỏi tối đa 25 câu hỏi

Ví dụ

Input Output
20
? 2
YES
? 3
NO
? 4
YES
? 5
NO
? 8
NO
! 4

Ghi chú

Trong ví dụ, x=4. Ta biết x chia hết cho 2 và 4, nhưng không chia hết cho 3, 5 và 8. Số duy nhất thỏa mãn trong [1, 20] là 4.

Tham khảo: Hướng dẫn giải bài tập Interactive

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