Xoay ảnh
Đề bài
Mô tả
Một chiếc máy ảnh được gắn cơ cấu quay quanh trục quang của nó trong lúc chụp. Khi máy ảnh quay độ theo chiều kim đồng hồ thì nội dung trong bức ảnh thu được lại bị xoay đúng độ ngược chiều kim đồng hồ.
Thuật toán nhận diện khuôn mặt chỉ hoạt động tốt khi khuôn mặt lệch rất ít so với phương thẳng đứng, nên ta cần xoay lại bức ảnh. Phần cứng chỉ hỗ trợ một thao tác duy nhất: xoay bức ảnh độ theo chiều kim đồng hồ. Thao tác này có thể lặp lại nhiều lần tuỳ ý.
Sau thao tác, nội dung bức ảnh đã bị xoay tổng cộng độ theo chiều kim đồng hồ (giá trị âm nghĩa là xoay ngược chiều kim đồng hồ). Độ lệch của bức ảnh là góc nhỏ nhất giữa hướng "lên trên thật" trong ảnh và phương thẳng đứng, tức là giá trị thuộc đoạn thu được khi rút gọn tổng góc xoay theo modulo rồi lấy khoảng cách gần nhất tới độ.
Cho góc quay của máy ảnh, hãy tìm số thao tác ít nhất sao cho độ lệch của bức ảnh là nhỏ nhất có thể. Nếu có nhiều số thao tác cùng cho độ lệch nhỏ nhất, hãy chọn số thao tác nhỏ hơn.
Dữ liệu vào
Một dòng duy nhất chứa số nguyên là góc quay của máy ảnh tính bằng độ. Giá trị dương nghĩa là máy ảnh quay theo chiều kim đồng hồ, giá trị âm nghĩa là quay ngược chiều kim đồng hồ.
Dữ liệu ra
Một số nguyên duy nhất là số thao tác xoay độ theo chiều kim đồng hồ ít nhất cần thực hiện.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 60 | 1 | Nội dung ảnh bị xoay độ ngược chiều kim đồng hồ. Với độ lệch lần lượt là . Nhỏ nhất là , đạt được khi . |
| -60 | 3 | Nội dung ảnh bị xoay độ theo chiều kim đồng hồ. Với tổng góc xoay là độ, tương ứng độ lệch . Nhỏ nhất là , đạt được khi . |
| 45 | 0 | Với tổng góc xoay là độ (lệch ), với tổng góc xoay là độ (cũng lệch ). Hai giá trị cùng cho độ lệch nhỏ nhất nên chọn số thao tác nhỏ hơn là . |
Bình luận