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

Giải quần vợt

Đề bài

Mô tả

Một giải quần vợt có n vận động viên tham dự, thi đấu theo thể thức loại trực tiếp ngay từ trận đầu tiên: ai thua một trận là bị loại khỏi giải ngay lập tức.

Ban tổ chức vẫn đang sắp xếp nhánh đấu (thứ tự các trận và ai gặp ai), nhưng đã thống nhất một quy tắc: hai vận động viên chỉ được gặp nhau nếu số trận mà mỗi người đã đấu trước đó chênh lệch nhau không quá 1. Dĩ nhiên, để còn ở lại giải thì cả hai đều phải thắng toàn bộ các trận đã đấu.

Hãy tìm số trận lớn nhất mà nhà vô địch của giải có thể tham dự, nếu ban tổ chức được tự do sắp xếp nhánh đấu sao cho tuân thủ quy tắc trên.

Dữ liệu vào

Một dòng duy nhất chứa một số nguyên n: số vận động viên tham dự.

Dữ liệu ra

In ra một số nguyên duy nhất là số trận lớn nhất mà nhà vô địch có thể tham dự.

Ràng buộc

  • 2n1018

Ví dụ

Input Output Giải thích
2 1 Chỉ có đúng một trận đấu.
3 2 Người số 1 lần lượt thắng người số 2 rồi thắng người số 3. Khi gặp người số 3, người số 1 đã đấu 1 trận còn người số 3 đấu 0 trận, chênh lệch đúng bằng 1 nên hợp lệ.
4 2 Người số 1 không thể đấu với cả ba người còn lại: sau khi thắng người số 2 và số 3, anh ta đã đấu 2 trận trong khi người số 4 mới đấu 0 trận. Cách tốt nhất là ghép cặp (1,2)(3,4) rồi cho hai người thắng gặp nhau.
10 4 Với 10 vận động viên, nhà vô địch đấu được nhiều nhất 4 trận.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0