Java实现第八届蓝桥杯纸牌三角形
纸牌三角形
PS:
题目描述
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法(如有对齐问题,参看p1.png)。
A
9 6
4 8
3 7 5 2
这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:需要提交的是一个整数,不要提交任何多余内容。
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int cnt=0;
for(int a=1;a<=9;a++){
for(int b=1;b<=9;b++){
for(int c=1;c<=9;c++){
for(int d=1;d<=9;d++){
for(int e=1;e<=9;e++){
for(int f=1;f<=9;f++){
for(int g=1;g<=9;g++){
for(int h=1;h<=9;h++){
for(int i=1;i<=9;i++){
if(a!=b && a!=c && a!=d && a!=e && a!=f && a!=g && a!=h && a!=i &&
b!=c && b!=d && b!=e && b!=f && b!=g && b!=h && b!=i &&
c!=d && c!=e && c!=f && c!=g && c!=h && c!=i &&
d!=e && d!=f && d!=g && d!=h && d!=i &&
e!=f && e!=g && e!=h && e!=i &&
f!=g && f!=h && f!=i &&
g!=h && g!=i &&
h!=i){
if((a+b+d+f)==(a+c+e+i) && (a+b+d+f)==(f+g+h+i) && (a+c+e+i)==(f+g+h+i)){
cnt++;
}
}
}
}
}
}
}
}
}
}
}
System.out.println(cnt/3/2); //旋转3种,镜像2种
}
}
PS: 我的旋转有三种情况,镜像有两种,我使用我总次数除6,即可(ง •_•)ง
package 第五次模拟;
public class Demo3纸牌三角形 {
static int [] num = new int [10];
static int count=0;
static boolean [] bool = new boolean [10];
public static void main(String[] args) {
dfs(1);
System.out.println(count/3/2);
}
public static void dfs(int step){
if(step==10){
if(num[1]+num[2]+num[4]+num[6]==num[1]+num[3]+num[5]+num[9] &&
num[1]+num[2]+num[4]+num[6]==num[6]+num[7]+num[9]+num[8]
){
count++;
}
return;
}
for (int i = 1; i <10; i++) {
if (!bool[i]) {
bool[i]=true;
num[step]=i;
dfs(step+1);
bool[i]=false;
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· Apifox不支持离线,Apipost可以!
· 历时 8 年,我冲上开源榜前 8 了!
· 零经验选手,Compose 一天开发一款小游戏!
· Trae 开发工具与使用技巧
· 通过 API 将Deepseek响应流式内容输出到前端