AtCoder 46-リモコン(搜索)

简介: AtCoder 46-リモコン(搜索)

题意翻译:


题目描述: 高桥君要调整空调的设定温度。现在的设定温度是A度,而他想调到B度。 空调遥控器按一次可以:

  • 上调或下调1度
  • 上调或下调5度
  • 上调或下调10度 高桥君想求出从A调到B度的最小操作数。

输入格式: 输出以下列形式给出。

A B

0<=A,B<=40

输出格式: 输出最小操作数。


样例与说明:



样例1: 输入:

7 34

输出:

5

依次上调10、10、5、1、1度即可


样例2: 输入:

19 28

输出:

2

上调10度、下调1度即可。


样例3: 输入:

10 10

输出:

0

温度一样时无需调整。


AC Code:


//心血来潮,这次不写万能头,回忆一下C语言吧!!! 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define min(a,b) a<b ? a:b//C语言中没有max和min,需要自己提前写好 
int begin,end;
int num=0x7ffffff;//记录调节次数 
void dfs(int begin,int step) {
  if(step>=num) {//剪枝,大于等于最小次数,直接结束 
    return ;
  }
  if(begin==end) {//调到需要的温度 
    num=min(num,step);//修改调节次数为最小 
    return ;
  }else if(begin>end) {//比需要的温度高,就向下调 
    dfs(begin-1,step+1);
    dfs(begin-5,step+1);
    dfs(begin-10,step+1);
  }else {//比需要的温度低,就向上调 
    dfs(begin+1,step+1);
    dfs(begin+5,step+1);
    dfs(begin+10,step+1);
  }
}
int main() {
  scanf("%d %d",&begin,&end);//起始温度,需要温度 
  dfs(begin,0);
  printf("%d\n",num);
  return 0;
}


相关文章
|
9月前
|
Python
Python搜索与匹配绝技:掌握search()和match()从零到高手
Python搜索与匹配绝技:掌握search()和match()从零到高手
70 0
|
9月前
|
机器学习/深度学习 人工智能 算法
启发式搜索 (Heuristically Search)-【贪婪最佳优先搜索】和【A*搜索】
启发式搜索 (Heuristically Search)-【贪婪最佳优先搜索】和【A*搜索】
401 0
practice5-搜索+练习
快速学习practice5-搜索+练习
中国象棋中的跳马问题(学习搜索中)
文本主要讲中国象棋中的跳马问题
120 0
|
算法 前端开发 程序员
「LeetCode」79-单词搜索⚡️
「LeetCode」79-单词搜索⚡️
109 0
「LeetCode」79-单词搜索⚡️
488. 祖玛游戏 :「搜索 + 剪枝」&「AStar 算法」
488. 祖玛游戏 :「搜索 + 剪枝」&「AStar 算法」
【算法提高——第二讲】搜索(2)
【算法提高——第二讲】搜索(2)
【算法提高——第二讲】搜索(2)
【算法提高——第二讲】搜索(3)
【算法提高——第二讲】搜索(3)
【算法提高——第二讲】搜索(3)
|
算法
【PTA】168(搜索 + 找规律)
【PTA】168(搜索 + 找规律)
135 0
【PTA】168(搜索 + 找规律)