Loading Now

minByre

Do thi trượt đại học nên Nhật được về quê chăn bò, tuy nhiên nhà Nhật rất nhiều bò nên không dễ gì tìm được con bò cần tìm để cho ăn. Vì vậy mỗi con bò được đánh số từ 1 đến n. Thiết kế trang trại cũng khá đặc biệt, nơi nhốt bò có hình một dãy dài, chia làm các chuồng nhỏ hơn, mỗi chuồng thì được chia bởi 1 vách ngăn (nhìn hình minh hoạ). Thế nên Nhật chỉ có thể vào thăm chuồng bằng 2 cửa chính hoặc cửa sau. Biết ngăn đầu tiên của chuồng đầu tiên không có bò, muốn đi vào tìm các con bò ở trong cần đi qua các chuồng. Hãy giúp Nhật tìm số chuồng đi qua nhỏ nhất để tìm con bò số x để cho ăn. 

Ví dụ:

  • Với n = 6, x = 2 thì minByre(n, x) = 1.
    Giải thích: Nhật sẽ đi từ cửa chính, qua chuồng 1 sẽ đến chuồng chứa con bò số 2.
  • Với n = 5, x = 4 thì minByre(n, x) = 0.
    Giải thích: Đi từ cửa sau, sẽ thấy luôn con bò số 4.

[Đầu vào/ Đầu ra]

  • [Thời gian chạy] 0.1s với C++, 0.6s với Java và C#, 0.8s với Python, Go và JavaScript.
  • [Đầu vào] integer n, integer x.
    1 ≤ n ≤ 109
    ≤ x ≤ n.  
  • [Đầu ra] integer.
    Số chuồng nhỏ nhất cần đi qua.      

Post Comment

Contact