Hướng dẫn giải của Bedao Testing Contest 01 - MINE


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Bài này có thể nhiều bạn sẽ in ra ma trận đối xứng. Thế nhưng thuật toán đó sai trong trường hợp ma trận input là ma trận đối xứng ở tất cả các phía (và sự thực input toàn là ma trận như thế). Vậy nên chúng ta phải có một thuật toán khác.

Giả sử với bãi mìn sau:

Tổng các số trên những ô không có mìn là 25. Bạn có thể thấy mỗi một đơn vị trong tổng 25 đó thể hiện ~1~ quan hệ ~1~ ô trống và ~1~ ô bom đứng cạnh nhau. Và khi chúng ta đổi ~0~ thành ~1~, ~1~ thành ~0~ thì số lượng các mối quan hệ đó vẫn giữ nguyên không thay đổi.

=> Bài này chỉ cần đảo ~0~ thành ~1~, ~1~ thành ~0~ thì sẽ tạo được một ma trận khác với ma trận ban đầu nhưng tổng số trên những ô không mìn vẫn giữ nguyên.

Code mẫu

#include <bits/stdc++.h>
using namespace std;
int n, m;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            int x;
            cin >> x;
            cout << 1-x << " ";
        }
        cout << '\n';
    }

}

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.