[Buổi 20][Chuỗi][HW] Bài 7: Sắp xếp lại các chữ số để được bội số của 5


LÀM BÀI

Points: 20
Time limit: 2.0s
Memory limit: 64M

Author:
Problem types
Allowed languages
C++

Sắp xếp lại các chữ số để được bội số của 5

Bối cảnh

Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.

Yêu cầu

FullHouse Dev muốn bạn giúp anh ấy giải quyết bài toán sau:

Cho một số nguyên dương N, hãy xác định xem có thể sắp xếp lại các chữ số của N (ở dạng biểu diễn thập phân) để thu được một bội số của 5 hay không.

Ví dụ

Khi N = 108, ta có thể sắp xếp lại các chữ số để tạo ra 180 = 36 * 5, là một bội số của 5.

Input

  • Dòng đầu tiên chứa một số nguyên T, số lượng test case.
  • Mỗi test case gồm hai dòng:
    • Dòng đầu chứa một số nguyên D, số lượng chữ số của N.
    • Dòng thứ hai là một chuỗi độ dài D, biểu diễn số N ở dạng thập phân.

Output

Với mỗi test case, in ra "Yes" nếu có thể sắp xếp lại các chữ số của N để được bội số của 5. Ngược lại, in ra "No".

Ràng buộc

  • \(1 ≤ T ≤ 1000\)
  • \(1 ≤ D ≤ 1000\)
  • \(1 ≤ N < 10^1000\)
  • \(Tổng của D trong tất cả các test case ≤ 1000\)
Ví dụ 1

Input

3
3
115
3
103
3
119

Output

Yes
Yes
No

Giải thích ví dụ

  • Test Case 1: Số đã cho đã chia hết cho 5, nên đáp án là Yes.
  • Test Case 2: Ta có thể sắp xếp lại thành 310 = 62 * 5, nên đáp án là Yes.
  • Test Case 3: Các số có thể tạo ra là {119, 191, 911}. Không số nào chia hết cho 5, nên đáp án là No.

Thông tin học tập

  • Buổi: B20
  • Concepts: std::string, character traversal, multiple test cases
  • Giới hạn kiến thức: B01-B20
  • Time limit: 2 seconds
  • Memory limit: 64 MB
  • Point: 20

Comments

There are no comments at the moment.

Zalo