蓝桥杯2015年第十三届省赛真题-三羊献瑞

一、题目

观察下面的加法算式:

      祥 瑞 生 辉
  +  三 羊 献 瑞
----------------------
 三 羊 生 瑞 气

(如果有对齐问题,可以参看【图1】)

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

图1

二、分析

 问的是三羊献瑞所代表的4位数字,那么我们可以看见这里总共有8个汉字,那么每个汉字都有可能是0~9这10个数字,但是祥和三不能为0,所以我们可以以深度优先算法进行全排列,找出符合条件的数字。


这里先给出一个深度优先算法进行全排列的小例题:

我们设数字是 {1 2 3 4 },那么递归求全排列。

 要求 全排列 我们的总体思想是:先将数字存到数组里面,将当前的元素与后面的元素进行交换,然后递归地处理剩下的元素,直到递归到最后一个元素,输出当前的序列,我们再回溯到上一层,继续进行递归来搜索其他的序列。

        代码:

package dfs进行全排列;

import java.util.Arrays;

public class A {

	public static void main(String[] args) {
		dfs(0, arr.length-1);
		
	}
	
	public static int[] arr = {1,2,3,4};
	
	public static void dfs(int start, int end) {
		//退出的条件
		if(start == end) {
			System.out.println(Arrays.toString(arr));
			return;
		}
		
		//递归处理全排列
		for(int i = start; i <= end; i++) {
			swap(arr, start, i);//将当前的元素与后面的元素进行交换
			dfs(start+1, end);//递归地处理剩下的元素,直到递归到最后一个元素
			swap(arr, start, i);//回溯到上一层继续进行递归
		}
	}
	
	public static void swap(int[] arr, int i, int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}
}

        结果: 

[1, 2, 3, 4]
[1, 2, 4, 3]
[1, 3, 2, 4]
[1, 3, 4, 2]
[1, 4, 3, 2]
[1, 4, 2, 3]
[2, 1, 3, 4]
[2, 1, 4, 3]
[2, 3, 1, 4]
[2, 3, 4, 1]
[2, 4, 3, 1]
[2, 4, 1, 3]
[3, 2, 1, 4]
[3, 2, 4, 1]
[3, 1, 2, 4]
[3, 1, 4, 2]
[3, 4, 1, 2]
[3, 4, 2, 1]
[4, 2, 3, 1]
[4, 2, 1, 3]
[4, 3, 2, 1]
[4, 3, 1, 2]
[4, 1, 3, 2]
[4, 1, 2, 3]

Arrays.ToString(数组名);数组转换为字符串,用之前记得要导包import java.util.Arrays;

  本题的代码

package lan2015;

public class C三羊献瑞 {

	public static void main(String[] args) {
		dfs(0);
	}
	
	public static int[] arr = {0,1,2,3,4,5,6,7,8,9};
	
	public static void dfs(int m) {
		if(m >= 9) {
			int a = arr[0]*1000+ arr[1]*100 + arr[2]*10 + arr[3];
			int b = arr[4]*1000+ arr[5]*100 + arr[6]*10 + arr[1];
			int c = arr[4]*10000+ arr[5]*1000+ arr[2]*100 + arr[1]*10 + arr[7];
			if(arr[0]==0 || arr[4]==0) return;
			if(a+b == c) {
				System.out.println(arr[4]+" "+arr[5]+" "+arr[6]+" "+arr[1]);
			}
			return;
		}
		
		//递归搜索
		for(int i = m; i <= 9; i++) {
			swap(m, i);
			dfs(m+1);
			swap(m, i);
		}
	}
	
	public static void swap(int i , int j) {
		int t =arr[i];
		arr[i] = arr[j];
		arr[j] = t;
	}
}

执行结果:

1 0 8 5
1 0 8 5

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AcWing-游戏

1388. 游戏 - AcWing题库 所需知识&#xff1a;博弈论&#xff0c;区间dp 由于双方都采取最优的策略来取数字&#xff0c;所以结果为确定的&#xff0c;有可能会有多个不同的过程&#xff0c;但是我们只需要关注最终结果就行了。 方法一&#xff1a; 定义dp[i][j] 表示区间…

【Pt】马灯贴图绘制过程 05-铁丝与渲染出图

目录 效果 步骤 一、基本材质 二、浮尘 三、渲染 效果 步骤 一、基本材质 CtrlAlt鼠标右键选中指定的纹理集 在智能材质中将“Iron Forged Old”加入图层 将智能材质“Iron Forged Old”文件夹打开&#xff0c;将图层“Base”和“Edge”的基本颜色改暗一点 二、浮尘 新…

解锁行业潜力:国内十大低代码平台全面盘点

在数字化转型的浪潮中&#xff0c;低代码开发平台以其快速开发、简化流程和降低技术门槛的优势&#xff0c;成为企业信息化建设的重要推手。 本篇文章将为您盘点十个低代码平台有&#xff1a;Zoho Creator、明道云、腾讯云低代码平台、华为云Astro、金蝶云苍穹、用友YonBuilder…

VS Code 配置 cmake

手动添加 CMake 编译器的搜索路径 如果没有设置上面的路径&#xff0c;有些编译器是找不到的

兼顾性能的数据倾斜处理方案

目录 前言 一、场景描述 二、常见的优化方法 2.1 Mapjoin 2.2 特殊值/空值打散 2.3 热点值打散&#xff0c;副表呈倍数扩散 2.4 热点数据单独处理/SkewJoin 2.5 方案总结 三、Distmapjoin 3.1 核心思路 3.2 代码实现 3.3 真实效果 四、方案总结 文章主要是介绍在支…

使用自己训练的superpoint与superglue模型进行图像配准

基于官方团队发布的预训练模型&#xff0c;使用SuperPoint与SuperGlue实现图像配准&#xff0c;可以参考https://blog.csdn.net/a486259/article/details/129093084 基于官方团队发布的代码训练自己的模型&#xff0c;可以参考https://blog.csdn.net/a486259/article/details/…

xilinx原语详解及仿真——ISERDESE2

前面在讲解HDMI接口之前&#xff0c;讲解过IDDR、ODDR、OSERDESE2、IBUFDS等原语&#xff0c;之后一直有读者在问什么时候更新ISERDESE2这个原语。前文讲解过这些原语都在HDMI或者RGMII中使用过&#xff0c;但是ISERDESE2这个原语目前我的板子除了HDMI输入&#xff0c;其余并不…

Python概率编程库之pymc使用详解

概要 Python PyMC库是一个强大的概率编程库,用于贝叶斯统计建模和蒙特卡罗采样。它提供了丰富的功能和灵活的API,使得贝叶斯推断和概率建模变得简单而有效。 安装与配置 首先,看看如何安装Python PyMC库并进行基本配置: pip install pymc安装完成后,可以导入PyMC库并开…

Spring Security 实现后台切换用户

Spring Security version 后端代码&#xff1a; /*** author Jerry* date 2024-03-28 17:47* spring security 切换账号*/RestController RequiredArgsConstructor RequestMapping("api/admin") public class AccountSwitchController {private final UserDetailsSe…

深入浅出 -- 系统架构之垂直架构

当业务复杂度增加、访问量逐渐增大出现高并发时&#xff0c;单体架构无法满足需求&#xff0c;可以根据业务功能对系统进行拆分&#xff0c;以提高访问效率。 垂直架构介绍 1.垂直架构一般是因为单体架构太过于庞大而进行的拆分&#xff0c;拆分后各个系统应满足独立运行互相不…

5.1 输出hw,求数组最大、小值,字符串转大、小写

5.1 输出hw&#xff0c;求数组最大、小值&#xff0c;字符串转大、小写】 1. 注释 1.1 单行注释 ;注释内容 1.2 多行注释 comment* 注释内容 *comment2. 输出“hello&#xff0c;world” 头文件&#xff0c;命名数组定义字符串&#xff0c;结束代码&#xff0c;直接在c:下…

注解(Annotation)

文章目录 1 注解概述1.1 什么是注解1.2 注解与注释1.3 注解的重要性 2 常见的Annotation作用3 三个最基本的注解3.1 Override3.2 Deprecated3.3 SuppressWarnings 4 元注解5 自定义注解的使用5.1 声明自定义注解5.2 使用自定义注解5.3 读取和处理自定义注解 6 JUnit单元测试6.1…

通讯录项目实现

引言&#xff1a;通过顺序表的逻辑实现通讯录。这里就不讲关于顺序表的函数了。如果有不明白的可以看我写的顺序表的博客。 目录 顺序表与通讯录的比较 各源文件文件大榄 Contact.c中通讯录相关函数的定义 初始化和销毁通讯录 添加联系人&#xff1a; 删除联系人&#xf…

欧拉角及其旋转矩阵,旋转顺序与内旋/外旋及其代码

目录 欧拉角介绍 旋转矩阵公式推导 旋转顺序 内旋/外旋 欧拉角介绍 欧拉角&#xff1a; 横滚&#xff1a;roll&#xff08;绕X轴旋转&#xff09;&#xff1b; 俯仰&#xff1a;pitch&#xff08;绕Y轴旋转&#xff09;&#xff1b; 偏航&#xff08;也称航向角&#x…

腾讯云服务器4核8g配置好不好?用它干啥使?

腾讯云4核8G服务器多少钱&#xff1f;腾讯云4核8G轻量应用服务器12M带宽租用价格646元15个月&#xff0c;活动页面 txybk.com/go/txy 活动链接打开如下图所示&#xff1a; 腾讯云4核8G服务器优惠价格 这台4核8G服务器是轻量应用服务器&#xff0c;详细配置为&#xff1a;轻量4核…

CSS简介

1. CSS简介 CSS(Cascading Style Sheets)层叠样式表&#xff0c;又叫级联样式表&#xff0c;简称样式表&#xff0c;文件后缀名为.css&#xff0c;用于HTML文档中元素样式的定义。CSS语法&#xff1a; <!DOCTYPE html> <html lang"en"> <head><…

C语言—用EasyX实现反弹球消砖块游戏

代码效果如下 #undef UNICODE #undef _UNICODE #include<graphics.h> #include<conio.h> #include<time.h> #include<stdio.h>#define width 640 #define high 480 #define brick_num 10int ball_x, ball_y; int ball_vx, ball_vy; int radius; int ba…

删除中间节点(狸猫换太子法)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 每一个裂缝都是为透出光而努力&#…

香橙派OPI Airpro上的智能交通监管系统(保姆级代码)

首先&#xff0c;你需要安装必要的软件包和库&#xff0c;例如Python3和TensorFlow。然后&#xff0c;你可以编写脚本来处理数据采集、分析和报告生成等任务。以下是一个简单的示例&#xff1a; # 安装必要的软件包 sudo apt-get update sudo apt-get install -y python3 pyth…

腾讯云4核8G服务器性能怎么样?大明白来说说

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…