求助 没用搜索,但是这个方法为啥过不了啊
查看原帖
求助 没用搜索,但是这个方法为啥过不了啊
1473025
maggieee527楼主2024/11/30 11:31
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, m;
    cin >> n >> m;
    int r[n] = {0};
    int c[m] = {0};
    int kk = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> r[i];
        if (r[i] == m)
        {
            kk++;
        }
        r[i] = m - r[i];
    }
    for (int i = 0; i < m; i++)
    {
        cin >> c[i];
        c[i] = n - c[i];
        c[i] += kk;
    }
    for (int i = 0; i < n; i++)
    {
        int h[m];

        if (r[i] == 0)
        {
            for (int j = 0; j < m; j++)
            {
                cout << 1;
                c[j]--;
            }
            cout << endl;
            continue;
        }

        for (int j = 0; j < m; j++)
        {
            if (c[j] == n - i)
            {
                h[j] = 0;
                r[i]--;
                c[j]--;
            }
            else
                h[j] = 1;
        }
        for (int j = 0; j < m; j++)
        {
            if (h[j] == 0)
            {
                cout << 0;
                continue;
            }
            if (r[i] != 0 && c[j] != 0)
            {
                cout << 0;
                r[i]--;
                c[j]--;
                continue;
            }
            cout << 1;
        }
        cout << endl;
    }
    system("pause");
    return 0;
}

想不到反例啊

2024/11/30 11:31
加载中...