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

Ổ khóa mã số

Đề bài

Mô tả

Một ổ khóa có mặt số chia thành 360 độ và một kim chỉ, ban đầu kim chỉ vào vạch 0.

Để mở khóa, bạn phải thực hiện đúng n lượt xoay. Lượt xoay thứ i phải xoay kim đi đúng ai độ, và bạn được tự do chọn xoay theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ. Mặt số là vòng tròn nên kim có thể quay qua vạch 0 bao nhiêu lần cũng được; điều kiện duy nhất là sau khi thực hiện xong cả n lượt xoay, kim phải chỉ trở lại vạch 0.

Hãy xác định xem có tồn tại ít nhất một cách chọn chiều xoay cho n lượt hay không.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n là số lượt xoay.
  • n dòng tiếp theo, dòng thứ i chứa một số nguyên ai là góc xoay của lượt thứ i (tính bằng độ).

Dữ liệu ra

In ra YES nếu tồn tại cách chọn chiều xoay để kim quay về vạch 0, ngược lại in ra NO.

Ràng buộc

  • 1n15
  • 1ai180

Ví dụ

Input Output Giải thích
3
10
20
30
YES Xoay lượt 1 và lượt 2 theo chiều kim đồng hồ, lượt 3 ngược chiều kim đồng hồ: 10+2030=0.
3
10
10
10
NO Tổng có dấu của ba số 10 chỉ có thể là 30,10,10,30, không giá trị nào là bội của 360.
3
120
120
120
YES Xoay cả ba lượt cùng theo chiều kim đồng hồ: kim quay tổng cộng 360 độ, tức đúng một vòng, nên lại chỉ vào vạch 0.

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