美文网首页
17蓝桥杯竞赛题“纸牌三角形”

17蓝桥杯竞赛题“纸牌三角形”

作者: ZaleJ | 来源:发表于2018-01-28 14:47 被阅读0次

纸牌三角形

题目.png

此题实在是没什么好的想法,只好强行暴力遍历了。。希望有大佬能提供更加简洁的思路

我的想法是。。将三个顶点按从大到小顺序排列遍历次序,在顶点顺序固定的情况下就不可能存在镜像和反转了。然后再将除顶点外的点依次不重复地遍历。。

JAVA17_2.java



class CardDelta{
    int top=1;
    int left=3;
    int right=2;
    
    
    /*
      A
     9 6
    4   8
   3 7 5 2
     * */
    public CardDelta() {
    }
    public void sort3Num() {
        for(int i = 1; i < 8; i++) {
            for(int j = i+1; j < 9; j++) {
                for(int k = j+1; k < 10; k++) {
                    //System.out.println(""+i+j+k);
                    //在此循环中确定三个定点的值,然后将其传入一个函数中
                    //在函数中遍历所有节点情况
                    runOver(i, j, k);
                }
            }
        }
    }

    public void runOver(int top, int left, int right) {
        int l1, l2, r1, r2, t1, t2;
        int tag=0;
        for(l1 = 1; l1 < 10; l1++) {
            if(l1!=top && l1!=left && l1!=right) {
                for(l2=1; l2<10; l2++) {
                    if (l2==l1 || (l2==top || l2==left || l2==right)) {
                        continue;
                    }
                    for(r1=1; r1 < 10; r1++) {
                        if (r1==l1 || r1==l2 || (r1==top || r1==left || r1==right)) {
                            continue;
                        }
                        for(r2=1; r2 < 10; r2++) {
                            if (r2==r1 || r2==l1 || r2==l2 || (r2==top || r2==left || r2==right)) {
                                continue;
                            }
                            for(t1=1; t1 < 10; t1++) {
                                if (t1==r1 || t1==l1 || t1==l2 || (t1==top || t1==left || t1==right)) {
                                    continue;
                                }
                                for(t2=1; t2 < 10; t2++) {
                                    if (t2==r1 || t2==l1 || t2==l2 || (t2==top || t2==left || t2==right)) {
                                        continue;
                                    }
                                    if(left+l1+l2+top == top+r1+r2+right && top+r1+r2+right == left+t1+t2+right) {
                                        tag++;
                                        System.out.println("left:"+left+l1+l2+top+"\nright:"+top+r1+r2+right+"\ndown:"+left+t1+t2+right);
                                    }
                                }
                            }
                        }
                    }
                    
                }
            }
        }
        System.out.println(tag);
    }
}

public class JAVA17_2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        CardDelta cDelta = new CardDelta();
        cDelta.sort3Num();
    }

}

运行结果

运行结果.png

目测似乎没有问题,并不知道正确答案,有错误的话欢迎指正。

相关文章

  • 17蓝桥杯竞赛题“纸牌三角形”

    纸牌三角形 此题实在是没什么好的想法,只好强行暴力遍历了。。希望有大佬能提供更加简洁的思路 我的想法是。。将三个顶...

  • 17蓝桥杯竞赛题“取数位”

    标题:取数位 求1个整数的第k位数字有很多种方法。以下的方法就是一种。 对于题目中的测试数据,应该打印5。 请仔细...

  • 17蓝桥杯竞赛题“购物单”

    购物单 以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。 **** 180.90 88...

  • 17蓝桥杯竞赛题“承压计算”

    这个题。。额。。我的大致思路就是把上部分的每个砖块质量分一半,然后加在下一层的砖块上,一直加到最后一层,再根据最大...

  • 蓝桥杯试题——FJ的字符串

    title: 蓝桥杯试题——FJ的字符串date: 2019年2月17日20:33:05tags: 蓝桥杯试题 算...

  • 蓝桥杯动态规划练习题--数字三角形

    一道蓝桥杯的动态规划练习题: 历届试题 数字三角形[http://lx.lanqiao.cn/problem.pa...

  • 30.蓝桥杯2017第3题_纸牌三角形

    package 第八届; /* 标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(...

  • [蓝桥杯]输出正反三角形

    问题 1571: [蓝桥杯][算法提高VIP]输出正反三角形 题目描述 使用循环结构打印下述图形,打印行数n由用户...

  • 蓝桥杯

    明天就是蓝桥杯省赛了,今天早点睡吧,没事就是一个小比赛,没什么的。大不了就去打打酱油吧。早早洗漱好,就上了床,可是...

  • 蓝桥杯

    一周前才开始意识到蓝桥杯又要来了,赶快找大佬聊聊怎么准备 “只要你掌握了最近十年的7道题以上省一几乎没问题 4-6...

网友评论

      本文标题:17蓝桥杯竞赛题“纸牌三角形”

      本文链接:https://www.haomeiwen.com/subject/phzaaxtx.html