csu 1958: 数字游戏
1958: 数字游戏
Submit Page Summary Time Limit: 2 Sec Memory Limit: 128 Mb Submitted: 134 Solved: 19
Description
小明今年才上一年级,加减法只会算加一和减一。老师就是喜欢看小明写不出题目的样子,所以给小明出了个难题:给出两个数字x,y,每次可以让数字的某一位加一或者减一(0减1变成9,9加1变成0)。问从x变到y至少要几次操作?小明虽然数学不好但是编程很强呀,他很快就得出了正确答案,现在看你的了~
注意:每次变换只能变动除前导零的数位。例如1109变成0109后不能变再成1109或者9109,但是单就一个数字0可以变成1或9。
Input
第一行是一个数字T(T<=10)表示数据组数
接下来T行,每行两个数字x,y(0<=x,y<=100000)
x和y不包含前导零
Output
输出包括T行,第i行对应第i组数据的答案.
如果x无法变成y,输出-1
Sample Input
3
10 11
99 100
52 75
Sample Output
1
-1
5
Hint
Source
2017年6月月赛-暨中南大学暑期集训选拔赛第二场
Author
卢铭威
题解:这个题目我是没有想明白 为什么要2sec 0ms的事情
先比较一下这个 数字的长度 判断前一个数字可不可以转变成第二个 如果可以的话
从最后一位可以变 一个循环遍历所有位就可以了 数据最大才6位数
#include<iostream>
#include<cstdio>
#include<math.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
int main()
{
int n,x,y,num1,num2,ans;
scanf("%d",&n);
while(n--)
{
ans=;
scanf("%d%d",&x,&y);
int temp1=x,temp2=y;
num1=num2=;
while(temp1>)
{
temp1/=;
num1++;
}
while(temp2>)
{
temp2/=;
num2++;
}
if(num1<num2)
{
printf("-1\n");
continue;
}
for(int i=;i<num1;++i)
{
temp1=x%;
temp2=y%;
int h=abs(temp1-temp2);
ans+=min(h,-h);
x/=;
y/=;
}
printf("%d\n",ans);
}
return ;
}
csu 1958: 数字游戏的更多相关文章
- C语言猜数字游戏
猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...
- 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II
好久没切 leetcode 的题了,静下心来切了道,这道题比较有意思,和大家分享下. 我把它叫做 "不一样的猜数字游戏",我们先来看看传统的猜数字游戏,Guess Number H ...
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- 【原创Android游戏】--猜数字游戏Version 0.1
想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...
- 【原创Android游戏】--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用
--------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添 ...
- NOIP2003pj数字游戏[环形DP]
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...
- Codevs 1229 数字游戏
1229 数字游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description Lele 最近上课的时候都很无聊,所以他发明了 ...
- codevs 1229 数字游戏(可重集的全排列)
传送门 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间. 这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后 ...
- XDU 1161 - 科协的数字游戏II
Problem 1161 - 科协的数字游戏II Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 112 ...
随机推荐
- mysql更新数据,条件为实时查询出来的数据
--将更新条件保存到临时表里 CREATE TABLE tmp3 AS (SELECT username FROM oa_user WHERE username NOT IN (SELECT user ...
- NetworkX系列教程(7)-对graph进行分析
小书匠Graph图论 graph构建完成后,对graph的连通等属性进行分析. 目录: 8.对图进行分析 8.1连通子图 8.2弱联通 8.3强连通 8.4子图 8.5条件过滤 注意:如果代码出现找不 ...
- Java 【打印俄文的英文字母】
俄文的的字符可以用 'A' 到 'Я '. public class main { public static void main(String args[]) { char S = 'А', C = ...
- lightgbm用于排序
一. LTR(learning to rank)经常用于搜索排序中,开源工具中比较有名的是微软的ranklib,但是这个好像是单机版的,也有好长时间没有更新了.所以打算想利用lightgbm进行排序, ...
- 配置interfaces
demo1 # This file describes the network interfaces available on your system # and how to activate th ...
- Java学习日记基础篇(八) —— 二进制、位运算、位移运算
二进制 二进制是逢2进位的进位置,0,1是基本算符 原码反码补码 在基本数据类型那里,有详细解释 二进制的最高位数是符号位:0表示整数,1表示负数 正数的原码,反码,补码都一样 负数的反码 = 它的原 ...
- Java基础系列 - 抽象类继承和接口实现
package com.inter; /** * 继承和接口的关系,单继承,多接口 * java不支持多继承,但可通过接口实现多重继承 */ public class test2 { public s ...
- python3编程基础之一:量的表示
计算机的操作最终表现是数据的操纵,为了表示和存储数据,都需要对数据进行引用,计算机可以直接从内存地址实现一步访问数据,但是编程的人却没有这种能力.就像人可能够不到在高处的氢气球,但是可以拉动邦在氢气球 ...
- ICEM-圆锥的一种画法(2D转3D)
原视频下载地址:https://pan.baidu.com/s/1jIOEelo 密码: btap
- 第六章、Linux 的档案权限不目彔配置
1. 使用者不群组 2. Linux 档案权限概念 2.1 Linux 文件属怅 2.2 如何改变文件属怅不权限: chgrp, chown, chmod 2.3 目彔不档案乀权限意丿 2.4 Lin ...