求求大佬帮我看一下吧B题只过了65%

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    vector<vector<int>> a(n + 1, vector<int>(m + 1, 0));
    int flag=min(m,n);
    if(k<max(n,k))
    {
        cout<<-1<<endl;
        return 0;

    }else{
         for(int i=1,j=1;i<=flag,j<=flag;i++,j++)
            {
                a[i][j]=1;
                k--;
            }
         if(k!=0)
         {
            if(n==m)
            {
               a[1][1]=a[1][1]+k;
            }
            else if(n>m)
                {
                  for(int i=m+1;i<=n;i++)
                  {
                      a[i][1]=1;
                      k--;
                  }
                  a[1][1]=a[1][1]+k;
                }
           else
                {
                    for(int i=n+1;i<=m;i++)
                  {
                      a[1][i]=1;
                      k--;
                  } 
                 a[1][1]=a[1][1]+k;
                }
         }
    }
     for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= m; j++) {
                if (j != 1) cout << " ";
                cout << a[i][j];
            }
            cout << endl;
        }
}

}

全部评论
算法复杂度比较高
点赞 回复 分享
发布于 2025-01-01 09:55 四川

相关推荐

评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务