博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蜘蛛牌------和 上一个 戒指 差不多
阅读量:6148 次
发布时间:2019-06-21

本文共 1230 字,大约阅读时间需要 4 分钟。

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

1 /* 2     做错了 两个地方 ,  3         1:          4 */ 5  6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
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\n",result);64 }65 }

 

转载于:https://www.cnblogs.com/A-FM/p/5257089.html

你可能感兴趣的文章
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>