MathLabs

Bài 5

Có nn người ngồi thành vòng tròn. Tổng cộng có nknk đồng xu được phân phối, không nhất thiết đều. Một bước chuyển một đồng xu giữa hai người kề nhau. Hãy tìm thuật toán dùng ít bước nhất để cuối cùng mọi người có cùng số đồng xu.
Bước 4 trên 5: Xử lý trường hợp tiền tố bằng không
dj≥0,d1+⋯+dj−1<0d_j\ge0,\qquad d_1+\cdots+d_{j-1}<0
Phân tích chi tiết

Trong trường hợp tiền tố bằng không, chọn j>i+1j>i+1 đầu tiên sao cho dj≥0d_j\ge0. jj tồn tại vì tổng độ lệch bằng không. Chuyển một xu từ người jj sang j−1j-1; tiền tố âm đến j−1j-1 tiến một đơn vị về không, nên XX giảm một. Bước này vẫn giữ d1≥0d_1\ge0.