Day3
第一题
第五届2014年蓝桥杯国赛
年龄巧合
C++B组第一题
填空题
暴力枚举每一个年龄相加的结果,再用2014与i
相减作比较即可,需要加一个break
,否则也会输出表弟的年龄。
public class Main {
public static void main(String[] args) {
for (int i = 1000;
i < 2014;
i++) {
int age = i / 1000 + i / 100 % 10 + i / 10 % 10 + i % 10;
if (age == 2014 - i) {
System.out.print(i);
break;
}
}
}
}
第二题 第八届2017年蓝桥杯省赛
纸牌三角形
JavaB组第二题
填空题
dfs全排列模板
public class Main {static final int N = 10;
static int cnt;
static int[] a = new int[N];
static boolean[] used = new boolean[N];
public static void main(String[] args) {
dfs(1);
System.out.println(cnt / 3 / 2);
// 去除旋转3种 镜像2种
}private static void dfs(int u) {
if (u > 9) {
int b1 = a[1] + a[2] + a[3] + a[4];
int b2 = a[4] + a[5] + a[6] + a[7];
int b3 = a[7] + a[8] + a[9] + a[1 ];
if (b1 == b2 && b2 == b3) cnt++;
return;
} else {
for (int i = 1;
i <= 9;
i++) { // 全排列模板
if (!used[i]) {
a[u] = i;
used[i] = true;
dfs(u + 1);
used[i] = false;
// 回溯 恢复现场
}
}
}
}
}
第三题 第三届2012年蓝桥杯省赛
取球游戏
C++本科组第十题
【#|蓝桥杯31天冲刺打卡题解(Day3)】
博弈论
import java.util.Scanner;
public class Main {static final int N = 10010;
static int[] a = new int[N];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 1;
i < 10000;
i++) {
if (a[i] == 0) {
a[i + 1] = 1;
a[i + 3] = 1;
a[i + 7] = 1;
a[i + 8] = 1;
}
}
while (n-- > 0) {
int i = sc.nextInt();
System.out.println(a[i]);
}
}
}
推荐阅读
- #|蓝桥杯31天冲刺打卡题解(Day2)
- #|蓝桥杯31天冲刺打卡题解(Day1)
- #|图像去噪论文综述(更新中...)
- 算法|PyTorch 之 Checkpoint 机制解析
- 计算机视觉教程|计算机视觉教程2-7(天使与恶魔?图文详解图像形态学运算(附代码))
- 蓝桥杯|第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组试题 A: 门牌制作——解题步骤
- 蓝桥杯|第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组试题 C: 蛇形填数——投机取巧法
- 蓝桥杯|第十届蓝桥杯大赛软件类省赛 Java 大学 B 组试题A:组队——解题步骤
- 算法学习|分治思想-终篇