Tháp Eiffel

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 900 (p) Thời gian: 0.5s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một hôm PhuocThien đi đến Pháp và được thấy tháp Eiffel vì nó quá đẹp nên PhuocThien đã nghĩ ra một bài toán về Tháp này.

Định nghĩa một ma trận \(N \times N\) được gọi là ma trận Eiffel thì nó phải đáp ứng các điều kiện:

  • Tổng của hàng thứ \(1\) và hàng thứ \(N\) bằng nhau; đồng thời nếu cộng hai tổng đó lại với nhau rồi nhân với \(2\) thì kết quả là một số chính phương.
  • Tổng của cột thứ \(1\) và cột thứ \(N\) khác nhau; đồng thời nếu cộng hai tổng đó lại với nhau thì kết quả là một số nguyên tố.
  • Nếu \(N\) là số chẵn thì kiểm tra thêm:
    • Tích của tổng cột thứ \(N/2\) và tổng hàng thứ \(N/2\) là một số chính phương.
    • Tổng của hai đường chéo khác nhau.
  • Nếu \(N\) là số lẻ thì kiểm tra thêm:
    • Tổng của cột thứ \((N+1)/2\) và hàng thứ \((N+1)/2\) là một số nguyên tố.
    • Tổng của hai đường chéo bằng nhau.

Input

  • Dòng \(1\): Số nguyên dương \(N\) \((3 \le N \le 15)\).
  • \(N\) dòng tiếp theo, Mỗi dòng gồm \(N\) số nguyên cách nhau bởi dấu cách.\((1 \le a[i, j] \le 100)\)

Output

  • Nếu là ma trận Eiffel thì in ra Yes ngược lại thì in ra No.

Example

Test 1

Input
3
2 1 2
1 2 1
2 1 2
Output
No

Test 2

Input
3
1 2 1
4 1 3
1 2 1
Output
Yes

Bình luận (1)

Mới nhất
Tải bình luận...

Kỳ thi: