第八届蓝桥杯java b组第二题
标题:纸牌三角形
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法(如有对齐问题,参看p1.png)。
A
9 6
4 8
3 7 5 2
这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:需要提交的是一个整数,不要提交任何多余内容。
这题没什么好说的 暴力破解模型 将不同位置的数认为一个排列 然后中间的位置认为相等 然后三处有想好可换
那么最后需要除2和除3

import java.util.Stack; public class Test2 { private static int count=0; public static void main(String[] args) { Stack<Integer> stack=new Stack<Integer>(); for(int i=1;i<=9;i++){ stack.push(i); fun(stack); stack.pop(); } System.out.println(count/2/3); } private static void fun(Stack<Integer> stack) { if(stack.size()==9){ int A=stack.get(0); int B=stack.get(1); int C=stack.get(2); int D=stack.get(3); int E=stack.get(4); int F=stack.get(5); int G=stack.get(6); int H=stack.get(7); int I=stack.get(8); int ACEI=A+C+E+I; int ABDF=A+B+D+F; int FGHI=F+G+H+I; if(ACEI==ABDF&&ABDF==FGHI){ ++count; System.out.printf("%d %d %d %d %d %d %d %d %d %d %d %d",A,B,D,F,A,C,E,I,F,G,H,I); System.out.println(); } } for(int j=1;j<=9;j++){ if(!stack.contains(j)){ stack.push(j); fun(stack); stack.pop(); } } } }
恐惧源于无知,代码改变世界
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义