Color

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: 1400 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho bảng \(n \times m\), Minh tô màu \(n\) dòng và \(m\) cột của bảng bằng một trong hai màu: màu xanh hoặc màu vàng. Ô giao giữa dòng \(i\) và cột \(j\) sẽ có màu như sau:

  • Nếu dòng \(i\) và cột \(j\) cùng được tô màu xanh thì ô \((i, j)\) sẽ có màu xanh.
  • Nếu dòng \(i\) và cột \(j\) cùng được tô màu vàng thì ô \((i, j)\) sẽ có màu vàng.
  • Nếu dòng \(i\) và cột \(j\) được tô bằng hai màu khác nhau thì ô \((i, j)\) có màu xanh lá cây.

Sau một thời gian, một số ô bị mờ đi và không thể xác định được ô đó là màu gì. Minh cũng không thể nhớ được mình đã tô màu các dòng và các cột như thế nào. Bạn hãy lập trình giúp Minh đếm xem có bao nhiêu khả năng khác nhau có thể có của bảng (cách tô màu các dòng và các cột).

Input

  • Dòng đầu gồm hai số nguyên \(n, m\).
  • \(n\) dòng sau, mỗi dòng \(m\) số mô tả màu các ô của bảng:
    • 1: màu xanh
    • 2: màu vàng
    • 3: màu xanh lá cây
    • 0: không xác định được màu

Output

  • Gồm một số duy nhất là số khả năng khác nhau có thể có của bảng.

Example

Test 1

Input
3 4
1 0 0 0
3 0 0 0
0 0 0 0
Output
16

Test 2

Input
2 2
3 3
3 3
Output
1

Test 3

Input
2 2
2 2
2 3
Output
0

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n, m \leq 10\).
  • Subtask \(2\) (\(50\%\) số điểm): \(n, m \leq 30\).

Bình luận (1)

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