Nội dung Bài tập
Mã:
MINORITY
Tên:
Minority Games
Dạng thi:
oi
Thang điểm:
10 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
64 MB
Được tạo bởi:
minhkg

Vào một ngày đẹp trời, Danny nhận được chiếc cặp chứa 100 triệu cùng với một lá thư thông báo Danny đã chính thức trở thành thí sinh của một trò chơi do tập đoàn MGK tổ chức.

Trò chơi mang tên "Luật Thiểu Số". Từ xưa đến nay, mỗi lần cần quyết định việc gì trong một tập thể thì người ta thường dùng cách biểu quyết : Đa Số sẽ thắng Thiểu Số. Nhưng giờ đây, đến với trò chơi "Luật Thiểu Số" thì mọi chuyện sẽ ngược lại.

N người tham gia, mỗi người chơi đều có 1 cái cặp với số tiền 100 triệu. Theo đó, cứ mỗi lượt chơi, sẽ có 1 câu hỏi ngẫu nhiên, và những người chơi chỉ được trả lời là "Yes", hay "No". Bất chấp câu trả lời nào đúng, nếu câu trả lời nào được nhiều người chọn hơn thì những người chọn câu trả lời đó sẽ bị loại. Trong trường hợp số câu trả lời bằng nhau hay tất cả người chơi đều chọn "Yes", hay "No" thì sẽ tiến hành trả lời lại. Cứ như vậy cho đến khi cuộc chơi chỉ còn 1 hoặc 2 người giành chiến thắng.

Ví dụ: có 10 người chọn "Yes" và 12 người chọn "No" thì 12 người sẽ bị loại, còn 10 người vào tiếp vòng trong.

Nếu chỉ có một người chiến thắng, người đó sẽ nhận được tất cả số tiền 100 triệu cho trước của những người chơi khác. Nếu có 2 người giành chiến thắng thì mỗi người thắng sẽ nhận được một nửa tổng số tiền 100 triệu cho trước từ những người chơi còn lại. Ngoài ra, sau khi kết thúc trò chơi, mỗi người chơi phải trả lại 100 triệu mà tập đoàn MGK đã đưa lúc đầu. Vì vậy, thua cuộc đồng nghĩa với việc người chơi phải gánh số nợ 100 triệu.

Ví dụ: có 22 người chơi thì người thắng cuộc sẽ có cơ hội nhận được 1 tỷ (nếu có 2 người thắng) hay 2.1 tỷ (1 người thắng).

Cũng như những người chơi khác, Danny không muốn chịu cảnh nợ nần, Danny cần có một chiến lược chơi để mình không bị mắc nợ. Sau một thời gian, Danny nghĩ nếu chỉ có một mình mình chơi thì xác suất thua sẽ rất cao nên nên phải hợp tác với M người chơi tạo thành 1 nhóm để chắc thắng và không bị mang nợ. Biết rằng, M + 1 người trong nhóm đều bị ràng buộc bới hợp đồng sao cho không ai được phép phản bội, nếu phản bội thì số tiền của kẻ phản bội sẽ được chia đều cho cả nhóm. Đổi lại, nếu 1 người trong nhóm giành chiến thắng thì người đó có trách nhiệm phải chia đều số tiền thưởng cho cả nhóm. (Giả sử chỉ có duy nhất nhóm Danny hợp tác với nhau trong N người chơi.)

Sau khi nghĩ ra kế hoạch, Danny có mấy câu hỏi thắc mắc không biết trả lời sao:

- Nên hợp tác với bao nhiêu người chơi trong trường hợp xấu nhất để có thể chắc chắn thắng và nhận được số tiền lớn nhất có thể

- Nhóm của Danny phải chơi nhiều nhất bao nhiêu vòng để có thể thắng (không tính vòng chơi có kết quả hòa)

- Số tiền lời mỗi người trong nhóm sẽ nhận được (đơn vị tính: triệu).


Hãy giúp Danny trả lời câu hỏi trên.


Input:


Gồm duy nhất một dòng chứa số nguyên N (3 <= N <= 10^18)


Output:

- Dòng thứ nhất là số người M cần hợp tác.

- Dòng thứ hai là số vòng chơi.

- Dòng thứ ba là số tiền lời của mỗi người trong nhóm.

 (Số tiền lời được làm tròn tới 4 chữ số thập phân bằng cách sử dụng hàm roundf)


Ví dụ:

Input: 
22

Output:
7
3
175

Input: 
5

Output:
1
1
25


    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận