L2-052 吉利矩阵 - java

L2-052 吉利矩阵


代码长度限制
16 KB
时间限制
1000 ms
内存限制
64 MB
栈限制
8192 KB


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

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

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

输入样例:
7 3
输出样例:
666


所有元素为非负整数,且各行各列的元素和都等于L的N*N的方阵一共有多少种?


emmmmmmm

和数独类似,只不过会比数独方便一点,只需要统计各行各列的元素和。

用dxy[][0]存储每行的数,dxy[][1]存储每列的数

然后通过dfs搜索剪枝一下

  • 加上当前枚举的数后,超过l的
  • 最后一行最后一列的

java过不去,时间究极TLE


import java.io.*;
import java.util.*;public class Main
{static int N = 10 + 10;static int dxy[][] = new int[N][2]; // dxy[][0]统计的是x, dxy[][1]统计的是ystatic int l, n;static int ans = 0; // 统计方案数static void dfs(int dep){if (dep >= n * n) // 如果这个方案成立{ans++;return;}for (int i = 0; i <= l; i++){// 根据dep来计算(x, y)的坐标int x = dep / 3;int y = dep % 3;// 如果行或列的和超过lif (dxy[x][0] + i > l || dxy[y][1] + i > l) continue;// 最后一行一列时if (x == n - 1) i = n - dxy[y][1];if (y == n - 1) i = n - dxy[x][0];// 增加dxy[x][0] += i;dxy[y][1] += i;dfs(dep + 1); // 继续往下走// 回溯dxy[x][0] -= i;dxy[y][1] -= i;}}public static void main(String[] args){l = sc.nextInt();n = sc.nextInt();dfs(0);out.println(ans);out.flush();out.close();}static Scanner sc = new Scanner(System.in);static PrintWriter out = new PrintWriter(System.out);}

#include <iostream>using namespace std;const int N = 10 + 10;
int l, n;
int ans = 0;
int dxy[N][2];void dfs(int dep)
{if(dep >= n * n){ans ++;return;}for(int i = 0; i <= l; i ++){int x = dep / n;int y = dep % n;if(dxy[x][0] + i > l || dxy[y][1] + i > l) break;if(x == n - 1) i = l - dxy[y][1];if(y == n - 1) i = l - dxy[x][0];dxy[x][0] += i;dxy[y][1] += i;dfs(dep + 1);dxy[x][0] -= i;dxy[y][1] -= i;}
}int main()
{cin >> l >> n;dfs(0);cout << ans;return 0;
}


如果有说错的 或者 不懂的 尽管提 嘻嘻

一起进步!!!


闪现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAP与BASE分布式理论

一、分布式理论 1.CAP理论 CAP理论是说对于分布式数据存储&#xff0c;最多只能同时满足一致性&#xff08;C&#xff0c;Consistency&#xff09;、可用性&#xff08;A&#xff0c; Availability&#xff09;、分区容忍性&#xff08;P&#xff0c;Partition Tolerance&…

debian testing (预计13版本)wps字体无法正常显示

背 景 本人使用debian办公&#xff0c;原来使用的是debian 12,由于“生命不息&#xff0c;折腾不止“&#xff0c;终于将稳定版的debian 12升级为testing. 结果发现&#xff0c;debian 12能够正常使用的wps存在部分字体无法正常显示&#xff0c;经研究发现&#xff0c;原来是w…

(三十九)第 6 章 树和二叉树(二叉树的三叉链表存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrc…

JINGWHALE 虚拟现实物质与空间理论 —— 全息世界

JINGWHALE 对此论文相关未知以及已知概念、定理、公式、图片等内容的感悟、分析、创新、创造等拥有作品著作权。未经 JINGWHALE 授权&#xff0c;禁止转载与商业使用。 一、虚拟现实物质与空间理论 物质是由离散的奇点JING粒子&#xff0c;依据不同的维度粒度&#xff0c;通过…

uniapp开发微信小程序,选择地理位置uni.chooseLocation

<view click"toCommunity">点击选择位置</view>toCommunity() {const that thisuni.getSetting({success: (res) > {const status res.authSetting// 如果当前设置是&#xff1a;不允许&#xff0c;则需要弹框提醒客户&#xff0c;需要前往设置页面…

EXPLORER - Stone Age

一个程式化的包,包含史前建筑、巨石结构、角色、自然资产、工具和各种道具,可以添加到你的游戏中。 包装内容: + 570 资产。 男性和女性角色,包括数十件服装、皮肤和配饰。 - 8 - 预制角色变体 安装后即可直接使用。 - 15 - 包括动画(8个男性动画和7个女性动画),与Mecan…

Swift 函数

函数 一、函数的定义与调用二、函数参数与返回值1、无参数函数2、多参数函数3、无返回值函数4、多重返回值函数5、可选元组返回类型6、隐式返回的函数三、函数参数标签和参数名称1、指定参数标签2、忽略参数标签3、默认参数值4、可变参数5、输入输出参数四、函数类型1、使用函数…

MATLAB算法实战应用案例精讲-【数模应用】信度分析(附python和R语言代码实现)

目录 算法原理 信度系数 信度分析和真分数测量理论 内在信度和外在信度

从零开始搭建Ubuntu CTF-pwn环境

下面就将介绍如何从零搭建一个CTF-pwn环境&#xff08;由于学习仍在进行&#xff0c;故一些环境如远程执行环境还没有搭建的经历&#xff0c;如今后需要搭建&#xff0c;会在最后进行补充&#xff09; 可以在ubuntu官方网站上下载最新的长期支持版本:(我下载的是22.04版本) h…

指针系列三

文章目录 1.字符指针&#xff1a;2.数组指针&#xff1a;3.二维数组传参的本质4.函数指针变量typedef 关键字 5.函数指针数组6.转移表 1.字符指针&#xff1a; 字符指针&#xff0c;也称为字符串指针&#xff0c;是指向内存中的字符或字符串的指针。 在C语言中&#xff0c;字符…

【树莓派4B】如何用树莓派的串口发送数据给单片机

文章目录 查看路由器中的树莓派IProot连接打开vnc远程桌面服务打开win的远程桌面软件输入IP和端口串口发送数据硬件连接树莓派发送 查看路由器中的树莓派IP root连接 打开vnc远程桌面服务 vncserver :1打开win的远程桌面软件 输入IP和端口 192.168.3.33:1输入密码qwer1234后点…

【找子序列“happy”,可不连续型,双指针】

不是每段相遇都有个美好的结局&#xff0c;阿米娅。有很多故事戛然而止&#xff0c;有很多故事让人辗转反侧&#xff0c;另一些......最后只能变成一声长长的叹息。在没有尽头的荒原上&#xff0c;人们相逢&#xff0c;然后走散&#xff0c;但在错身而过的那个瞬间......没有人…

嫁接打印的技术要点

所谓嫁接打印&#xff0c;是一种增减材混合制造的方式。它将已成形的模具零件当作基座&#xff0c;在此基础上“生长”出打印的零件。其中基座通常采用传统加工方式制造&#xff0c;而打印部分则使用专用的金属粉末&#xff0c;通过 3D 打印技术成型。 嫁接打印之所以备受欢迎&…

Docker + Django跨域解决方案

什么是Django Django 是一个开源的高级 Python Web 框架&#xff0c;它鼓励快速开发并遵循可重用和可维护的实践。Django 是在 MTV&#xff08;模型-模板-视图&#xff09;模式的基础上设计的&#xff0c;这个模式类似于但不同于 MVC&#xff08;模型-视图-控制器&#xff09;模…

centos安装mysql-client

直接安装&#xff1a; yum install mysql-community-client报了错误No package mysql-community-client available. 原因&#xff1a;CentOS/RHEL系统默认的软件源中并不包含MySQL软件包&#xff0c;需要通过添加第三方存储库来获取MySQL相关软件 添加源 安装MySQL官方的Yum…

去除夸克-百度云右键菜单上传

去除夸克-百度云右键菜单上传 Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\*\shell\QuarkCloudDrive.upload] [-HKEY_CLASSES_ROOT\Directory\shell\QuarkCloudDrive.backup] [-HKEY_CLASSES_ROOT\Directory\shell\QuarkCloudDrive.upload] [-HKEY_CLASSES_RO…

已解决java.lang.InstantiationError: 实例化错误的正确解决方法,亲测有效!!!

已解决java.lang.InstantiationError: 实例化错误的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 重新编译所有依赖代码 统一库或模块版本 多模块项目的同步更新 总结 问题分析 java.lang.Insta…

springcloudalibaba版本发布说明

版本发布说明 | https://sca.aliyun.com 2.2.x 分支 适配 Spring Boot 为 2.4&#xff0c;Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本按从新到旧排列如下表&#xff08;最新版本用*标记&#xff09;&#xff1a; Spring Cloud Alibaba VersionSpring Cloud…

Nmap基础命令

Nmap&#xff08;Network Mapper&#xff09;是一款开源的网络发现和安全审计工具&#xff0c;用于发现网络上的主机和设备&#xff0c;并确定这些主机上开放的端口和运行的服务。以下是Nmap的一些常用用法和参数&#xff1a; 扫描单个主机或IP地址&#xff1a; nmap <targe…

使用FFmpeg处理RTSP视频流并搭建RTMP服务器实现图片转直播全流程

目录 一、FFmpeg安装与配置教程二、搭建并配置Nginx RTMP服务器三、从RTSP视频流提取帧并保存为图片四、将图片序列转换为视频五、将视频推送为直播流六、将图片序列推送为直播流 在实时音视频领域&#xff0c;我们经常需要处理从各种源&#xff08;如摄像头&#xff09;获取的…