java 寒假作业
寒假作业
现在小学的数学题目也不是那么好玩的。
看看这个寒假作业:
□ + □ = □
□ - □ = □
□ × □ = □
□ ÷ □ = □
(如果显示不出来,可以参见【图1.jpg】)
每个方块代表1~13中的某一个数字,但不能重复。
比如:
6 + 7 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
以及:
7 + 6 = 13
9 - 8 = 1
3 * 4 = 12
10 / 2 = 5
就算两种解法。(加法,乘法交换律后算不同的方案)
你一共找到了多少种方案?
public class Main {
static int num = 0;
static int[] a = new int[13]; //存下标对应1-12数字
static boolean[] b = new boolean[14]; //标记是否已经被用了
public static void dfs(int k)
{
if(k == 4) if(a[1] + a[2] != a[3]) return; //每次进行每个要求的判定,能减少很多时间
if(k == 7) if(a[4] - a[5] != a[6]) return;
if(k == 10) if(a[7] * a[8] != a[9]) return;
if(k == 13) if(a[10] != a[11] * a[12]) return;
if(k == 13) {
num++;
return;
}
for(int i = 1; i <14; i++) { //每次赋值,dfs
if(b[i] == false) {
b[i] =true;
a[k] = i;
dfs(k+1);
a[k] = 0;
b[i] = false;
}
}
}
public static void main(String[] args)
{
dfs(1);
System.out.print(num);
}
}
代码改了又改,简单的dfs暴力运行的话,会运行比较久,可能还运行不出来
加上每次的判定,返回,时间会减少很多。
64
java 寒假作业的更多相关文章
- java实现第七届蓝桥杯寒假作业
题目6.寒假作业 寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见[图1. ...
- Q114寒假作业之割绳子
割绳子 TimeLimit:1000MS MemoryLimit:10000K 64-bit integer IO format:%lld Problem Description 已知有n条绳子,每 ...
- JAVA 数组作业——动手动脑以及课后实验性问题
JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...
- java第一次作业0
lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...
- JAVA自学作业03
JAVA自学作业03 1.请用最有效率的方式计算2*8的结果 使用位运算是最有效率的. System.out.println(2<<3); 2.请交换两整数的值 int x = 10; i ...
- JAVA自学作业02
JAVA自学作业02 1.什么是标识符?由哪些部分组成?常见的命名规则有哪些? 标识符是用户为变量的内存空间所定义的字符序列: 可以由字母.下划线.美元符号以及数字组成,但数字不可作为首字符.标识符不 ...
- JAVA自学作业01
JAVA自学作业01 1.Hello World 程序 class HelloWorld{ public static void main(String args[]){ System.out.pri ...
- Java面向对象作业-用接口方式测试向下转型
Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ...
- JAVA大作业汇总1
JAVA大作业 代码 ``` package thegreatwork; import javafx.application.; import javafx.scene.control.; impor ...
随机推荐
- [理解] C++ 中的 源文件 和 头文件
我是学 C井 的, 现在在工作中主要使用的编程语言是 Java, 还记得当初在第一次接触到 Cpp 的时候, 听到的第一个概念就是 Cpp 的头文件和源文件, 当初理解了好久, 死活都弄不明白, 现在 ...
- MySQL 远程连接问题 (Linux Server)
Mysql Workbench 连接Ubuntu上的Mysql时报如下错误: 原因:查看 /etc/mysql/mysql.conf.d/mysqld.cnf # # Instead of skip ...
- Ubuntu新手指引-软件包apt命令使用
看到这个博客,你十有八九是刚接触Ubuntu,不知从何下手.Ubuntu社区虽然现在不活跃,但里有很多文,可以帮助你快速上手,比如Ubuntu中文社区新手指引. 软件包的管理常常涉及root权限,普通 ...
- Python磁力获取器命令行工具 torrent-cli
作为一个搞代码的,找资源这种事肯定不能像普通人一样打开百度盲目查找,你需要写个爬虫工具来帮你完成这件事情啦! 兼容环境 Windows/Linux/MacOs 安装 pip 安装 $ pip inst ...
- ShellCode模板
前言 在上一篇文章上使用到的添加用户的shellcode是怎么得到的呢? 先来拆分一下汇编的功能 ;寻找kernel32.dll的基地址 xor ecx,ecx mov eax,dword ptr f ...
- hadoop程序理解
1.利用hadoop的API写程序 驱动程序中利用hadoop的API,获取配置,默认会根据HADOOP_HOME环境变量指定的HADOOP主目录下/etc/hadoop加载配置文件 2.启动利用 - ...
- idea设置自带的maven为国内镜像
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/panchang199266/articl ...
- C# Lambda排序
1.按照多个字段进行排序:xxxList.OrderBy(c => c.RoadCode).ThenBy(c => c.Qdzh),表示先按照RoadCode字段进行排序再按照Qdzh字段 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定大写文本
<!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...
- Nmap 使用
0×01 前言 因为今天的重点并非nmap本身的使用,主要还是想借这次机会给大家介绍一些在实战中相对比较实用的nmap脚本,所以关于nmap自身的一些基础选项就不多说了,详情可参考博客端口渗透相关文章 ...