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

Số bí mật của Snape

Đề bài

Mô tả

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

Mục tiêu của bạn là xác định chính xác giá trị của x.

Giao thức tương tác

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

? y

trong đó 1yn. Thầy Snape 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

Giới hạn câu hỏi: Bạn được hỏi tối đa 25 câu hỏi.

Tối đa một lời nói dối: Thầy Snape được phép nói dối nhiều nhất một lần. Cụ thể:

  • Đúng một câu trả lời có thể sai
  • Tất cả các câu trả lời còn lại đều đúng với x đã chọn

Thầy Snape biến hóa: Thầy Snape không cố định x từ đầu. Sau mỗi câu hỏi, Thầy Snape có thể thay đổi x, miễn là:

  • Tất cả các câu trả lời trước đó (trừ tối đa một lời nói dối) vẫn nhất quán với x mới

Nhiệm vụ

Sau khi hỏi xong, in ra câu trả lời cuối cùng:

! x

Câu trả lời này không tính vào giới hạn câu hỏi.

Quan trọng: Vì Thầy Snape thích biến hoá, 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 các câu trả lời (cho phép tối đa 1 câu trả lời sai). Nếu còn nhiều hơn một giá trị khả thi, Thầy Snape 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 một số nguyên n.

Dữ liệu ra

Để hỏi: ? y

Để trả lời: ! x

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

Ràng buộc

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

Ví dụ

Input Output
10
? 2
YES
? 3
NO
? 4
YES
? 5
YES
? 7
NO
? 8
NO
? 10
NO
! 4

Ghi chú

Trong ví dụ trên, Thầy Snape đã nói dối 1 lần ở câu hỏi ? 5. Thực tế x=4 không chia hết cho 5, nhưng Thầy Snape trả lời YES.

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