2013 到1 通过最小步数 到达1 2中运算 -1 或者除以2

d[n]=min(dp[n-1]+1,dp[n、2]); n为偶数

dp[n]=dp[n-1]+1;

答案为18

怎么通过计算求得答案?


#include<iostream>
using namespace std;
int d[2014];
int min(int x,int y)
{
if(x>y) return y;
else return x;

}

int main()
{
int n;

cin>>n;
memset(d,0,sizeof(d));
d[1]=0;
d[2]=1;

for(int i=3;i<=n;i++)
{
if(i%2==0)
{
d[i]=min(d[i/2],d[i-1])+1;

}
else d[i]=d[i-1]+1;

cout<<d[i]<<endl;

}

system("pause");

return 0;

}

2013 到1 通过最小步数 到达1 2中运算 -1 或者除以2

时间: 2024-11-07 13:28:55

2013 到1 通过最小步数 到达1 2中运算 -1 或者除以2的相关文章

(hdu step 4.2.3)Knight Moves(求从起点是否能够到达终点的最小步数)

题目: Knight Moves Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 453 Accepted Submission(s): 326   Problem Description A friend of you is doing research on the Traveling Knight Problem (TKP) where

(hdu step 4.2.4)A strange lift(求从起点到终点的最小步数,限制条件是:在一维的情况下)

题目: A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 709 Accepted Submission(s): 348   Problem Description There is a strange lift.The lift can stop can at every floor as you want, a

搜索学习(2)--NYOJ 58 最小步数

题目链接:click here 搜索入门题, 题意:给定一张8*8的图,给定两个坐标:起点和终点,规定0为可以走,1为墙,不能走,求出起点走到终点的最小步数. dfs的基础应用 参考代码: #include <cmath> #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> using name

yzoi2226最小步数的详细解法

Description - 问题描述 在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”.有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字.他的同桌平时喜欢下围棋,知道这件事后觉得很有趣,就想试一试,在一个(100*100)的围棋盘上任选两点A.B,A点放上黑子,B点放上白子,代表两匹马.棋子可以按“日”字走,也可以按“田”字走,俩人一个走黑马,一个走白马.谁用最少的步数走到左上角坐标为(1,1)的点时,谁获胜.现在他请你帮忙,给你A.

Knight&#39;s Trip 马在无线大棋盘上跳到指定点最小步数问题

题目描述 Problem D: Knight's Trip In chess, each move of a knight consists of moving by two squares horizontally and one square vertically, or by one square horizontally and two squares vertically. A knight making one move from location (0,0) of an infin

One Person Game(扩展欧几里德求最小步数)

One Person Game Time Limit: 2 Seconds      Memory Limit: 65536 KB There is an interesting and simple one person game. Suppose there is a number axis under your feet. You are at point A at first and your aim is point B. There are 6 kinds of operations

POJ 1753 Flip Game (高斯消元 枚举自由变元求最小步数)

题目链接 题意:4*4的黑白棋,求把棋全变白或者全变黑的最小步数. 分析:以前用状态压缩做过. 和上题差不多,唯一的不同是这个终态是黑棋或者白棋, 但是只需要把给的初态做不同的两次处理就行了. 感觉现在还只是会套模板,不能独立的思考,好伤心.... 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <cmath&g

Algorithm --&gt; 求出A到B的最小步数

求出A到B的最小步数 给定象棋盘,以及位置A和B, 求出从A到B的最小步数 Input 2             -->case 个数9 9          -->棋盘大小3 5 2 8    --> 起始位置20 202 3 7 9 Output2 5 代码: #include <cstdio> #include <iostream> #include <string.h> using namespace std; #define MAX 100

ybt 1252 广度优先搜索 走迷宫(二维、最小步数)

1252:走迷宫 时间限制: 1000 ms         内存限制: 65536 KB提交数: 7272     通过数: 3241 [题目描述] 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走. 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直方向走,不能斜着走. [输入] 第一行是两个整数,R和C,代表迷宫的长和宽.( 1≤ R,C ≤ 40) 接下来是R行,每行C个字符,代表整个迷宫. 空地格子用‘.’表示,