• 蓝桥杯 猜字母


    猜字母

    题目:

     A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。
    要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。

    请填写出所有符合要求的排列中,字典序最小的那个。

    例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。


    请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空格。

    题解:全排列后再判断 比赛的时候不知道怎么脑子瓦特了 愣是把A 写成了1

     1 package AllWATER;
     2 
     3 public class 猜字母 {
     4     static int [] a = {0,1,1,2,2,3,3,4,4};
     5     static int [] vis = new int [10];
     6     static int [] num = new int [10];
     7     static int [] book = new int [10];
     8     static int cnt = 0;
     9     static int flag1 = 0;
    10     static void check() { 
    11         for(int i=0;i<book.length;i++)
    12             book[i] = 0;
    13         
    14         for(int i=1;i<=8;i++) {
    15             if(book[i]==0&&i+2<=8&&book[i+2]==0&&num[i]==1&&num[i+2]==1)
    16             {
    17                 book[i] = 1;book[i+2] = 1;
    18             }     
    19             if(book[i]==0&&i+3<=8&&book[i+3]==0&&num[i]==2&&num[i+3]==2)
    20             {
    21                 book[i] = 2;book[i+3] = 2;
    22             }
    23             if(book[i]==0&&i+4<=8&&book[i+4]==0&&num[i]==3&&num[i+4]==3)
    24             {
    25                 book[i] = 3;book[i+4] = 3;
    26             }
    27             if(book[i]==0&&i+5<=8&&book[i+5]==0&&num[i]==4&&num[i+5]==4)
    28             {
    29                 book[i] = 4;book[i+5] = 4;
    30             }
    31             
    32         }
    33         int flag=0;
    34         for(int i=1;i<=8;i++) {
    35             if(book[i]==0)
    36                 flag=1;
    37         }
    38         if(flag == 0&&flag1 == 0) {
    39             for(int i=1;i<=8;i++) {
    40                 System.out.print(book[i]);
    41             }
    42             System.out.println();
    43             flag1 = 1;
    44         }
    45     }
    46     static void dfs(int step) {
    47         if(step == 9) {
    48             check();
    49             return;
    50         }
    51         //System.out.println("haha");
    52         for(int i=1;i<9;i++) {
    53             if(vis[i] == 0) {
    54                 vis[i] = 1;
    55                 num[step] = a[i];
    56                 dfs(step+1);
    57                 vis[i] = 0;
    58             }
    59         }
    60     }
    61     public static void main(String[] args) {
    62         dfs(1);
    63     }
    64 }
  • 相关阅读:
    Autofac小例子
    Spring自带mock测试Controller
    [转载]转Java 几个memcached 连接客户端对比 选择
    danga的MemcachedClient的几个缺陷
    linux查看memcached状态
    Linux下配置安装PHP环境(Apache2)
    使用memcache.php监控memcached
    memcached运行情况监测
    memcached监控的几种方法(nagios等)
    xmemcached使用的几点优化建议
  • 原文地址:https://www.cnblogs.com/1013star/p/10332140.html
Copyright © 2020-2023  润新知