首页 > 其他分享 >天梯赛随笔

天梯赛随笔

时间:2024-10-09 22:13:48浏览次数:1  
标签:idx temp int dfs 天梯 随笔 col row

吉祥矩阵

思路:爆搜+剪枝,每一行、每一列搜索至末尾时直接判断该填的数字,可行则继续搜索。对于其他位置只搜索范围内的数字

代码:

//吉祥矩阵
#include<bits/stdc++.h>
using namespace std;

int n, m, ans;
int row[5], col[5];
int a[5][5];

bool check() {
    for (int i = 0; i < n; i ++) {
        if (row[i] != m || col[i] != m) return false;
    }
    return true;
}

void dfs(int idx) {
    if (idx == n*n) {
        if (check()) ans ++;
        return;
    }
    int r = idx / n, c = idx % n;
    if (c == n-1) {
        int temp = m - row[r];
        if (m - col[c] >= temp) {
            a[r][c] = temp;
            col[c] += temp; row[r] += temp;
            dfs(idx+1);
            col[c] -= temp; row[r] -= temp;
        }
    }
    else if (r == n-1) {
        int temp = m - col[c];
        if (m - row[r] >= temp) {
            a[r][c] = temp;
            col[c] += temp; row[r] += temp;
            dfs(idx+1);
            col[c] -= temp; row[r] -= temp;
        }
    }
    else {
        for (int i = 0; i <= min(m-row[r], m-col[c]); i ++) {
            a[r][c] = i;
            row[r] += i; col[c] += i;
            dfs(idx+1);
            row[r] -= i; col[c] -= i;
        }
    }
}

int main() {
    cin >> m >> n;
    dfs(0);
    cout << ans << endl;
}

标签:idx,temp,int,dfs,天梯,随笔,col,row
From: https://www.cnblogs.com/phtatoJun/p/18455274

相关文章

  • 今日份数组随笔
    /**24*/constarray3=[["monster","shuffle","dawn","mistake","strong","senior","ozone","correct",......
  • rustling学习随笔
    序言rustling是一个关于rust的练习题的项目.可以帮助大家通过完成一个项目的方式练习rust的语法,我认为对于补充我rust现学现卖过程中的情况很有帮助.下边是GPT对它的介绍:Rustling是专为那些想要学习Rust编程语言的人设计的一个交互式练习集合。无论你是编程新手还是有经......
  • 初中数学随笔
    14.1整式的乘法:14.1同底数幂的乘法:同底数幂相乘,底数不变,指数相加。例:\(a^2\timesa^3=a^5,b^x\timesb^y=b^{x+y}\)14.2幂的乘方:幂的乘方,底数不变,指数相乘。例:\((a^2)^3=a^6,(b^x)^y=b^{xy}\)14.1.3积的乘方:积的乘方,等于把积的每一个因式分别乘方......
  • 9.28日随笔
    动手动脑P37枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象,可以使用“”和equals()方法直接比对枚举变量的值,对于枚举类型的变量,“”和equals()方法执行的结果是等价的,枚举为引用类型得到结果为falsefalsetrueSMALLMEDIUMLARGE动手......
  • 【Leecode 随笔】C语言版看了不后悔系列持续更新中。。。(四)
    文章目录题目一:实现一个函数,计算两个整数的最大公约数(GCD)题目分析:解题思路:示例代码:代码解析:题目二:实现一个函数,判断一个整数是否为素数题目分析:解题思路:示例代码:代码解析:题目三:实现一个函数,对给定的字符串进行排序(按字母顺序)题目分析:解题思路:示例代码:代码解析:......
  • NJU-ICS 2024学习随笔PA1_3(正则表达式)
    2024-09-22确实这一块比前面有点难了,先看看这make_token函数在哪。在nemu目录下执行指令grep-r"make_token",就可以得到这个函数所在路径。然后看到enum和rule,结合文章可知,这里就是添加规则的地方。先学一下正则表达式语法正则表达式语法.:匹配任意字符(除了换行符)*:匹配前......
  • 算法随笔——wqs二分
    学习链接学习链接应用条件选择恰好\(x\)个物品,求最优值设\(x\)对应最优值\(f_x\),\((x,f_x)\)在图像上呈现为凸包。无数量限制问题简单可做问题转化有\(n\)个物品,恰好选\(m\)个,计算最优值。做法例题模版题:P2619......
  • 摄像头抓取保存帧成视频随笔记录
    cv2间隔指定秒抓取视频以上为一些常见编码格式:I420,YUV编码,视频格式为.aviPIM1,MPEG-1编码,视频格式为.aviXVID,MPEG-4编码,视频格式为.aviTHEO,OggVorbis,视频格式为.ogvFLV1,Flash视频,视频格式为.flvAVC1,H264编码DIV3,MPEG-4.3编码DIVX,MPEG-4编码MP42,MPEG-4.2编码MJPG,motion-......
  • 途中随笔
    目前为止五味杂陈的有一些人,这里简短留下几位。2018年我决定改名字,我爸说想改名字得上报到省政府,3年前我想复读他跟我说得是得让省长签字。2018年我自己去公安局两天搞定。我姐于2008年毅然决然辞去空姐,去汶川救灾,之前还在做服装和模特副业,走在路上会被人说像赵薇。我喜欢她短发......
  • 邱良德的第一篇随笔
    这个作业属于哪个课程https://edu.cnblogs.com/campus/zjlg/rjjc/这个作业的目标撰写一篇博客,介绍自己的能力和经历姓名-学号邱良德-2022329301088软件技术基础第一次作业1.个人介绍基本信息姓名:邱良德学号:2022329301088专业:自动化籍贯:江西吉安兴趣爱......