2017蓝桥杯java B组纸牌三角形

1.标题:纸牌三角形
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。
下图就是一种排法
A
9 6
4 8
3 7 5 2
这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:需要提交的是一个整数,不要提交任何多余内容。

思路:DFS+重复几率计算
这道题是典型的回溯应用,很适合使用递归。

  1. 原理
    全排列(递归)(基于多少种不同的排法)
  2. DFS(深度优先搜索算法): 初步模板(简书大佬所著模板供参考)

3.DFS具体实现模板:

//DFS template
public static void DFS(char[] data,int k){//递归->构造相似性->构造参数//出口(条件和方法的参数有关)if(k==data.length-1){//输出for(int i=0;i<data.length;i++){System.out.print(data[i]+" ");  }System.out.println();}//试探for(int i=k;i<data.length;i++){//k代表要与后面元素交换的当前位置{char temp;temp=data[k];data[k]=data[i];data[i]=temp;}//递归DFS(data,k+1);//回溯{char temp;temp=data[k];data[k]=data[i];data[i]=temp;}}    }public static void main(String[] args) {// TODO Auto-generated method stubchar[] data= "ABCDEFG".toCharArray();//字符串转换为字符数组DFS(data,0);}
  1. 重复几率分析:
    相同的一款:旋转3种*对称2种=6种
    镜像:

    答案
//纸牌三角形
public class 纸牌三角形 {static int count=0; public static void f(int[] arr,int k){if(k==arr.length-1){if(arr[0]+arr[1]+arr[2]+arr[3]==arr[3]+arr[4]+arr[5]+arr[6]&&arr[0]+arr[1]+arr[2]+arr[3]==arr[6]+arr[7]+arr[8]+arr[0]){count++;}}int temp = 0;for(int i = k;i<arr.length;i++){{temp = arr[k];arr[k]=arr[i];arr[i]=temp; }f(arr,k+1);{temp = arr[k];arr[k]=arr[i];arr[i]=temp;}}}public static void main(String[] args) {// TODO Auto-generated method stubint arr[] ={1,2,3,4,5,6,7,8,9};f(arr,0);System.out.println(count/6);}}

2017蓝桥杯java B组纸牌三角形相关推荐

  1. 2017蓝桥杯省赛---java---B---2(纸牌三角形)

    题目描述 纸牌三角形 思路分析 全排列+特殊去重 ans/6 代码实现 package com.atguigu.TEST;class Main{public static int[] a={1,2,3 ...

  2. 2017年 第八届蓝桥杯 Java B组真题整理

    2017年 第八届蓝桥杯 Java B组真题整理 1.购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.这不,XX大促销又 ...

  3. 2017年 第8届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  4. 2017年 第08届 蓝桥杯 Java B组 决赛真题详解及小结

    ​​​​​蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 ...

  5. 2018年 第09届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  6. 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  7. 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  8. 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第2场省赛 2020.10.17】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 说明:大部分题解思路及程序代码 源自 蓝桥杯 官网视频(Java B组历年真题解析) -- 郑未老师. ...

  9. 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

最新文章

  1. 论文笔记:MobileNet v2
  2. mysql数据库雪崩_缓存与数据库一致性之三:缓存穿透、缓存雪崩、key重建方案...
  3. 计算机求职意向范文,自我评价与求职意向范文3篇
  4. 高级工程师职英语计算机,高级工程师要考英语吗
  5. 前端学习(2754):配置tabber
  6. 第七十期:IT技术人员的自我修养
  7. HTML的SEO(搜索引擎优化)标准
  8. [转]Cuda笔记【1】GPU计算DEMO
  9. java中Assert使用
  10. Ubuntu18.04忘记密码解决
  11. C# 实现批量下载抖音里的无水印视频
  12. 苹果手机在哪搜索测试版软件,如何在 beta 版软件上测试你的 App
  13. php 判断百度蜘蛛抓取,判断百度蜘蛛偷偷进行转移权重301,给新站提权
  14. 红米手机html文件,红米手机怎么传文件到电脑
  15. 华硕重装后进入bios_重装系统以后,开机自动进bios,进不了系统怎么办
  16. 感知机——鸢尾花 包含代码
  17. bilibili缓存视频的位置
  18. CENTOS7 安装eclipse应用
  19. 论文:Elastic Scheduling for Microservice Applications in Clouds (云环境下微服务应用的弹性调度)
  20. 基于pandas的粗糙集依赖度约简算法思路及实现

热门文章

  1. 【计算机视觉40例】案例32:定位人脸
  2. Ajax获取Json对象绑定下拉框
  3. bootstrap使用Modal,关闭弹框遗留遮罩层
  4. 关于Flink中time与watermark的理解
  5. DDX DDV 用法
  6. SpringBoot2.1.4整合log4j2保存日志到MySQL中
  7. strongswan对称算法plugin
  8. easyExcel导入报错excelType
  9. java中excel文件内容读取
  10. helm安装postgres_安装Helm