• 蜘蛛牌------和 上一个 戒指 差不多


    .....然而 还是  不会  , 看别人的程序看了半天   自己 也是仅仅能模仿一下 ,   不懂到底是咋回事////////还是要看的  先附上  题目和代码

     1 /*
     2     做错了 两个地方 , 
     3         1:         
     4 */
     5 
     6 #include<stdio.h>
     7 #include<string.h>
     8 #include<math.h>
     9 #include<iostream>
    10 #include<algorithm>
    11 #include<queue>
    12 #include<vector>
    13 #include<set>
    14 #include<stack>
    15 #include<string>
    16 #include<sstream>
    17 #include<map>
    18 #include<cctype>
    19 #include<limits.h>
    20 using namespace std;
    21 int a[11],visited[11],result;
    22 void DFS(int t,int tem)    //已经做好的 卡牌 和 目前的 值 .
    23 {
    24     if(tem>=result)    //  当 目前的移动步数  大于 了  最小的步数  就剪掉 .
    25         return ;
    26     if(t==10)
    27     {
    28         result=tem;
    29         return;
    30     }
    31     for(int i=1;i<11;i++)    // 较小的 牌面
    32     {
    33         if(!visited[i])   //这一张卡牌没有用 .
    34         {
    35             for(int j=i+1;j<11;j++)
    36             {
    37                 if(!visited[j])
    38                 {
    39                     visited[i]=1;
    40                     DFS(t+1,tem+abs(a[i]-a[j]));    //           
    41                     visited[i]=0;
    42                     break;              // 有时候 不行 ,  不能 从 1  到 10 连着放牌 ,  可能将后面的牌  先放一下 , 会减少步数 .  那就 现弄后面的 .
    43                 } //   例如 1 2 3 4 5 10 9 8 7 6  先 弄后面的 会更好
    44             }
    45         }
    46     }
    47 }
    48 int main()
    49 {
    50     int t;
    51     scanf("%d",&t);
    52     while(t--)
    53     {
    54         for(int i=1;i<11;i++)
    55         {
    56             int card;
    57             scanf("%d",&card);
    58             a[card]=i;              //牌面做下标
    59             visited[i]=0;
    60         }
    61         result=INT_MAX;
    62         DFS(1,0);    //    移动  9 次就搞定了. .
    63         printf("%d
    ",result);
    64     }
    65 }
  • 相关阅读:
    Drcom账户管理Server端解说
    Hadoop常见异常及其解决方式
    PHP 获取网络接口文件流
    【刷题小记67】三角形面积
    Tiny语言编译器简单介绍
    矩阵十题【六】 poj3070 Fibonacci
    函数名称
    设计模式--6大原则--开闭原则
    LeetCode96:Unique Binary Search Trees
    [Swift]LeetCode958. 二叉树的完全性检验 | Check Completeness of a Binary Tree
  • 原文地址:https://www.cnblogs.com/A-FM/p/5257089.html
Copyright © 2020-2023  润新知