ZZULIOJ 1427: 数字转换
来源:互联网 发布:苹果7下载软件 编辑:程序博客网 时间:2024/06/05 22:43
1427: 数字转换
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 542 Solved: 144
SubmitStatusWeb Board
Description
老师交给小明一个任务,有两个数字x和y(x<y),通过以下两种操作:一、将x乘以2;二、将x的值加上1。小明希望能通过尽可能少的操作来完成这个任务,但是不知道怎么做,现在请大家来帮帮他的忙吧。
Input
两个整数x,y(0<=x<y<=10^6)。
Output
一个整数n,表示最少经过多少次操作,x可以变成y。
Sample Input
2 5
10 80
Sample Output
2
3
HINT
Source
郑轻第六届校赛
数学,,思维耶-.-队列TLE。。。百度了题解反推过。。。
TLE代码:
#include<cstdio>#include<cstring>#include<queue>#include<algorithm>using namespace std;struct node{int x,step;}now,qian;void zhao(int xx,int yy){queue<node> que;now.step=0;now.x=xx;que.push(now);while (!que.empty()){qian=que.front();que.pop();if (qian.x==yy){printf("%d\n",qian.step);break;}now.x=qian.x*2;now.step=qian.step+1;if (now.x<=yy) que.push(now);now.x=qian.x+1;now.step=qian.step+1;if (now.x<=yy) que.push(now);}}int main(){int x,y;while (scanf("%d%d",&x,&y)!=EOF)zhao(x,y);return 0;}
AC 代码:
#include<stdio.h>int main(){ int x,y; while(~scanf("%d%d",&x,&y)){ int k=0; while(y>x){ if(y%2==1) y-=1; else y/=2; k++; } if(y<x) k+=2*y-x-1; printf("%d\n",k); }}
0 0
- ZZULIOJ 1427: 数字转换
- ZZULIOJ 1898: 985的数字难题 【水题】
- 【zzulioj 1898 985的数字难题】
- zzulioj 1898 985的数字难题
- zzulioj 1898: 985的数字难题 [思维]
- 【zzuliOJ】1919 - 晴天分数字(二分)
- ZZULIOJ-1898-985的数字难题(水题)
- zzuliOJ 1898:985的数字难题(思维)
- 【多校训练】ZZULIOJ 1898 985的数字难题
- ZZULIOJ 1108: 打印数字图形(函数专题,水题)
- 数字转换
- 数字 转换
- 数字转换
- zzulioj 1809: make pair (数学转换求余简化)
- zzulioj 1810: water problem II (字符转换) 水
- zzulioj 1803: SC晾衣服 (暴力+技巧转换)
- zzulioj 1837: LT说我不服 (线性DP&&转换)
- 【zzulioj 2134: 维克兹的进制转换】+ dp
- C Tricks(十)—— str2int vs int2str
- 基于tcp/ip协议,使用socket进行简单的多用户聊天室
- Java大牛养成记(9)----搭建java项目开发环境
- Log4NET
- 1014. 福尔摩斯的约会 (20)
- ZZULIOJ 1427: 数字转换
- 安卓驱动编译简单介绍
- 【webrtc】音频采集-链接错误总结
- Spring Aop 中的JDK动态代理的实现
- web.xml <web-app>中xmlns="http://java.sun.com/xml/ns/j2ee"这一句是什么意思??
- IOS开发:按钮控件
- 面向对象
- 上拉加载,下拉刷新
- 《剑指offer》面试题3 二维数组中的查找(杨氏矩阵)