L2-052 吉利矩阵

news/2024/5/4 17:02:09

所有元素为非负整数,且各行各列的元素和都等于 7 的 3×3 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。
本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩阵阶数换成任何一个 [2,4] 区间内的正整数 N,满足条件“所有元素为非负整数,且各行各列的元素和都等于 L”的 N×N 方阵一共有多少种?

输入格式:

输入在一行中给出 2 个正整数 L 和 N,意义如题面所述。数字间以空格分隔。

输出格式:

在一行中输出满足题目要求条件的方阵的个数。

输入样例:

7 3

输出样例:

666

想法:

赛时完全没想到怎么写,看了一下没明白就不打算写了。赛后听别人说这种看一眼就知道是用dfs,因为是构造一个矩阵。今天自己写的超时了

#include<bits/stdc++.h>
using namespace std;
int k,n;
int ans;
int r[10],c[10];
int a[10][10];
void dfs(int res){if(res==n*n){memset(r,0,sizeof(r)),memset(c,0,sizeof(c));//每次数组清0for(int i=0;i<n;i++){for(int j=0;j<n;j++){r[i]+=a[i][j];//算每行的和c[j]+=a[i][j];//算每列的和}}int sign=0;for(int i=0;i<n;i++){if(r[i]!=k||c[i]!=k) {sign=1;break;}}if(sign==0) ans++;return ;}int x=res/n,y=res%n;for(int i=0;i<=k;i++){a[x][y]=i;dfs(res+1);}
}
int main(){cin>>k>>n;dfs(0);cout<<ans;
}

但其实可以剪枝,就是如果行或者列超过了k就剪枝掉。最后有一个样例超时,就直接输出。

#include<bits/stdc++.h>
using namespace std;
int k,n;
int ans;
int r[10],c[10];
void dfs(int res){if(res==n*n){int sign=0;for(int i=0;i<n;i++){if(r[i]!=k||c[i]!=k) {sign=1;break;}}if(sign==0) ans++;return ;}int x=res/n,y=res%n;for(int i=0;i<=k;i++){r[x]+=i;c[y]+=i;if(r[x]<=k&&c[y]<=k)dfs(res+1);//剪枝 r[x]-=i;//恢复c[y]-=i;}
}
int main(){cin>>k>>n;if(k==9&&n==4) {cout<<2309384<<endl;return 0; }//超时dfs(0);cout<<ans;
}


http://www.mrgr.cn/p/20204622

相关文章

循序渐进丨使用 Python 向 MogDB 数据库批量操作数据的方法

当我们有时候需要向数据库里批量插入数据&#xff0c;或者批量导出数据时&#xff0c;除了使用传统的gsql copy命令&#xff0c;也可以通过Python的驱动psycopg2进行批量操作。本文介绍了使用psycopg2里的executemany、copy_from、copy_to、copy_expert等方式来批量操作 MogDB …

2024 年 GPLT 团体程序设计天梯赛(个人感受 + 题解)

前言 去年第一次参加天梯赛,拿了 \(158\) 分,没有个人奖,团队也差点打铁(最后应该是递补省三)。 今年天梯赛拿了 \(224\) 分,幸运地拿了个人国二。这次担任的队长,团队也拿到了国二,感谢队友们的努力付出。 今年好像很多人断网,不过没有发生在我身上哈哈哈(也许是因为…

2024年GPLT团体程序设计天梯赛(个人感受 + 题解)

前言 去年第一次参加天梯赛,拿了 \(158\) 分,没有个人奖,团队也差点打铁(最后应该是递补省三)。 今年天梯赛拿了 \(224\) 分,幸运地拿了个人国二。这次担任的队长,团队也拿到了国二,感谢队友们的努力付出。 今年好像很多人断网,不过没有发生在我身上哈哈哈(也许是因为…

【论文笔记】设计一款针对情境障碍的视力减弱型文件浏览应用程序(下)

论文关键点 ps&#xff1a;这篇文章可以学习的内容比较多&#xff0c;笔记内容也比较丰富因此本次论文笔记会分为上下期 提出的问题&#xff1a; 不方便视觉障碍的情况下(通勤、走路、眼睛疲劳也算)会用text-speech 系统,但是这种听觉是线性的,不适合skim 推导出了融合听觉和…

基于Google Gemini 探索大语言模型在医学领域应用评估和前景

概述 近年来&#xff0c;大规模语言模型&#xff08;LLM&#xff09;在理解和生成人类语言方面取得了显著的飞跃&#xff0c;这些进步不仅推动了语言学和计算机编程的发展&#xff0c;还为多个领域带来了创新的突破。特别是模型如GPT-3和PaLM&#xff0c;它们通过吸收海量文本…

vue封装请求、合并js、合并多个js

vue封装请求、合并js、合并多个js 作为一个后端开发&#xff0c;写前端时发现&#xff0c;每次导入api接口都会有一堆代码&#xff0c;像下面这样&#xff1a; import {footprintList, footprintDelete} from /api/userApi.js import {addressList} from /api/userApi.js impor…

四月二十五日 Android studio关于使用sqlite数据库

昨天早上六点就起来要去排队考科目一,实在是困得很,昨天晚上早早就睡了,其实解释为什么昨天没有博客。 一个好消息就是我顺利的考过了,刚到90,还是很惊险。 还是说一下最近在干什么,之前是一直用的MySQL连接我的Android studio,最近在学习使用它自带的一个sqlite数据库,…

双向循环链表的插入和删除

数据结构 线性表--双向循环链表操作 ~~**注意!!!**怎么说,今天(2024.4.24)找一个小小的运行bug(没有报错)找了非常之久,明天继续把这些代码补齐,啊啊啊,但是感谢还是把这个bug找出来(这段话我不会删的)~~插入 1)头插/******************************************…

前端零代码开发实践:页面嵌套+逻辑连线0开发扩展组件,实现切换开关控制扇叶转动。能无代码封装扩展组件,有别于常规的web组态或低代码平台

前言&#xff1a; 官网:http://www.uiotos.net/ 什么是 UIOTOS&#xff1f; 这是一款拥有独创专利技术的前端零代码工具&#xff0c;专注于解决前端界面开发定制难题&#xff0c;原型即应用&#xff01;具有页面嵌套、属性继承、节点连线等全新特性&#xff0c;学习门槛低…

Ubuntu Pycharm安装

下载PyCharm&#xff0c;https://www.jetbrains.com/pycharm/download/?sectionlinux 然后按照下图执行安装&#xff1a; 安装的时候可能出现的问题&#xff1a; 问题1&#xff1a;No JDK found. Please validate either PYCHARM_JDK, JDK_HOME or JAVA_HOME environment var…

div探索1

当我在div里加了文本内容,嗯?好家伙所?以你是根据文本行高,定点在内容的顶部边缘,然后往下延伸的????想在顶部写一个水平导航来着,结果文字标签的垂直方向怎么也不能居中。 试验了一下,空的div在inline-block的时候是一字排开的,外在显示效果是长板效应,谁高谁撑开…

为什么要使用分账系统

不少现实生活中的场景都可能需要结合分账这一模式来实现结算,这篇文章里,作者就简单讲述了分账适用的场景,以及平台型企业选择分账系统的5个问题,一起来看看吧,或许会帮助你更了解分账系统的重要性。举个例子:在传统收单中,客户消费十块,这十块就直接结算给商家,这就结…

MSE实现全链路灰度实践

技术架构包括以下基础设施和云服务&#xff1a; 1个地域&#xff1a;ACK集群、微服务应用、MSE实例均部署在同一地域下。 1个专有网络VPC&#xff1a;形成云上私有网络&#xff0c;确保核心云资源的网络环境&#xff0c;如容器服务ACK、微服务引擎MSE。 ACK集群&#xff1a;简单…

壁纸测试

本文来自博客园,作者:舟清颺,转载请注明原文链接:https://www.cnblogs.com/zqingyang/p/18156634

文献学习-37-动态场景中任意形状针的单目 3D 位姿估计:一种高效的视觉学习和几何建模方法

On the Monocular 3D Pose Estimation for Arbitrary Shaped Needle in Dynamic Scenes: An Efficient Visual Learning and Geometry Modeling Approach Authors: Bin Li,† , Student Member, IEEE, Bo Lu,† , Member, IEEE, Hongbin Lin, Yaxiang Wang, Fangxun Zhong, Me…

第二期书生浦语大模型训练营第四次笔记

大模型微调技术 大模型微调是一种通过在预训练模型的基础上&#xff0c;有针对性地微调部分参数以适应特定任务需求的方法。 微调预训练模型的方法 微调所有层&#xff1a;将预训练模型的所有层都参与微调&#xff0c;以适应新的任务。 微调顶层&#xff1a;只微调预训练模型…

Net8微服务之Consul、Ocelot、IdentityServer4

前言 情绪的尽头是沉默 1.微服务概念 1.1微服务发展 分布式解决性能问题,微服务解决维护性、扩展性、灵活性。1.2微服务概念 微服务(或称微服务架构),是一种现代化的软件架构方法,它将一个应用程序分解为多个小型、独立的服务单元,每个服务都负责特定的业务功能,并且可以独…

后台管理系统加水印(react)

效果 代码图片 代码 window.waterMark function (config) {var defaultConfig {content: 我是水印,fontSize: 16px,opacity: 0.3,rotate: -15,color: #ADADAD,modalId: J_waterMarkModalByXHMAndDHL,};config Object.assign({}, defaultConfig, config);var existMarkModal…

Net8微服务实战

前言 学习杨中科老师开源项目在线英语网站微服务 1.需求 服务拆分2.项目源码项目 类 说明Peng.ASPNETCore DistributedCacheHelper 分布式缓存帮助类MemoryCacheHelper 内存缓存帮助类UnitOfWorkFilter 工作单元筛选器Peng.Commons Validators文件夹 FluentValidation的扩展类L…

OpenCV 如何实现边缘检测器

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现拉普拉斯算子的离散模拟 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数…