题解 | #构造数独#

构造数独

https://www.nowcoder.com/practice/bf8ffcbf95f743d7bbb2dd96bafa1a3c

一个很简单的构造方法,由于每一行和是相同的,所有我们可以先让每行的元素是一样,而后为了让每一列的和一样的,我们可以循环右移每一行的元素,例如第一行是1 2 3 4,那么第二行就是4 1 2 3,由于是矩阵那么最终每一列都会有和行一样的元素。而在这基础上,我们可以想到最简单的构造方法就是,每一行每一列都由1个k和n-1个0组成,当然下面的代码没有这么构造,但大差不差

#include<iostream>

using namespace std;

const int N=1e3+5;

int n,k;

int main()
{
    cin>>n>>k;
    if(n==1)
    {
        cout<<k;
        return 0;
    }
    int a=k%(n-1),b=k/(n-1);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i==j) cout<<a<<' ';
            else cout<<b<<' ';
        }
        cout<<endl;
    }
    return 0;
}
全部评论

相关推荐

01-12 17:45
门头沟学院 Java
985废物一枚:就是问问你能不能接受北京的房租,hr也知道公司工资不高,大概率是要贴钱的
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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