ZJNU 1534 - Problem Robot--高级
因为是从(0,0)点开始以1,3,9,27,....的步数走的
其实可以每走一步后,以机器人为中心,平面所有坐标全部缩小3倍
那么本应该走3步的路现在只需要走1步就可以到达那个点
那么对于机器人来说这种变化意味着什么
走一步,缩小3倍,再走一步,再缩小3倍
以原点(0,0)为参照物,机器人走的距离确实是以1,3,9,27,...递增的
但是以机器人为参照物的话,每次它都只走了1步
然后,考虑在某个时刻,机器人和它的目标坐标(x,y)的相对坐标距离为(Δx,Δy)
因为接下来机器人要走的步数是1,3,9,...
因为有1的出现,所以Δx和Δy不可能同时是3的倍数,也不可能都不是3的倍数
如果出现了这种情况,直接输出Impossible
其余的,因为每次都会让接下来要走的步数/3
可能会出现类似-1-3+9的情况
这种情况下如果按照思路应该是-1/3-3/3+9/3=-1+3=2
但是如果直接进行整除
(-1-3+9)/3=5/3=1
不符合思路
所以需要将%3时先后为2,0,1的数归在一起
C语言的程序主要功能描述如下
x=abs(x);
y=abs(y);
while(x>||y>){
if(x%==&&y%==||x%&&y%)
break;
x=(x+)/;
y=(y+)/;
}
但是题目数据范围在1e500内
需要开高精度或者使用Python或Java
下面展示Java程序作为参考
import java.util.Scanner;
import java.math.BigInteger;
public class Main
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
BigInteger a=new BigInteger(in.next()).abs(),b=new BigInteger(in.next()).abs(),j1,j2;
BigInteger c0=BigInteger.ZERO,c1=BigInteger.ONE,c2=new BigInteger("2"),c3=new BigInteger("3");
boolean jd=true;
while(jd&&(a.compareTo(c0)!=0||b.compareTo(c0)!=0)){
j1=a.remainder(c3);
j2=b.remainder(c3);
if((j1.compareTo(c0)==0)==(j2.compareTo(c0)==0)){
jd=false;
break;
}
a=a.add(c1).divide(c3);
b=b.add(c1).divide(c3);
}
if(jd)
System.out.println("Possible\n");
else
System.out.println("Impossible\n");
}
}
ZJNU 1534 - Problem Robot--高级的更多相关文章
- 模拟赛 Problem 1 高级打字机(type.cpp/c/pas)
Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
- ZJNU 1223 - 素数距离——高级
因为最大可以达到int极限 明显直接筛选不可能完成 所以从其因子入手 因为任何不是素数的数都有除了1与其自身之外的因子 因此,我们筛出2^(31/2)≍46350之内的所有素数,以其作为因子再将题目给 ...
- ZJNU 1217 - 航线问题——高级
将所有航线的其中一边排序后,另一边进行类dp 定义一个数组c,c[i]表示在所有能够开通i条航线的组合中,位置序号最大的那条航线的序号的最小值 比如下面一个样例 1 3 2 4 3 1 4 2 此时对 ...
- ZJNU 1205 - 侦探推理——高级
双层枚举嫌疑犯与当日是星期几,统计真话与假话是否满足题意 注意 fake<=N&&fake+neutral>=N 即假话数量不大于N,假话加上没用的废话数量不小于N (注意 ...
- 2小时入门Robot Framework
1.介绍 1.1.介绍Robot Robot Framework是一个基于关键字驱动的自动化测试框架.通过该框架,测试人员可使用python封装关键字,并在非代码环境下使用关键字构建可被执行的测试用例 ...
- implement "slam_karto" package on a Freight robot
1. login ssh fetch@<robot ip or robot name> 2. set robot master modify .bashrc in robot's com ...
- HDU3047 Zjnu Stadium 【带权并查集】
HDU3047 Zjnu Stadium Problem Description In 12th Zhejiang College Students Games 2007, there was a n ...
- 6.19 noip模拟题(题目及解析转自 hzwer 2014-3-15 NOIP模拟赛)
Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
- NOIP2014-3-15模拟赛
Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
随机推荐
- opencv目录(转)
github:https://github.com/opencv/opencv OpenCV 3 的源代码文件夹: 3rdparty/: 包含第三方库,如用视频解码用的 ffmpeg.jpg.png. ...
- POJ 3295:Tautology
Tautology Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10482 Accepted: 3982 Descri ...
- 现在购买5G“商用手机”值不值呢?是花冤枉钱还是提前享受?
刚刚发布的"安卓最强机皇"华为Mate 20系列依然没有支持5G,只是在收割最后的4G红利.相比之下,即将发布的小米MIX 3,看起来亮点还是颇多的.除了滑盖摄像头.屏占比更高的全 ...
- c# 异步和同步 多线程
在执行较为耗时的处理时,很容易出现用户界面“卡顿”现象,用异步编程模型,将耗时处理的代码放到另一个线程上执行,不会阻止用户界面线程的继续执行,应用程序 就不再出现“卡顿”现象. 本例子提供同步加载和异 ...
- Codeforces Round #604 (Div. 2) 部分题解
链接:http://codeforces.com/contest/1265 A. Beautiful String A string is called beautiful if no two con ...
- ansible异步任务
转载于简书博客 https://www.jianshu.com/p/3962bf94ae70 ansible方便在于能批量下发,并返回结果和呈现.简单.高效. 但有的任务执行起来却不那么直接,可能会花 ...
- 用Python在00:00给微信好友发元旦祝福语
2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...
- JZOJ-2019-11-5 A组
T1 给定由 n 个点 m 条边组成的无向连通图,保证没有重边和自环. 你需要找出所有边,满足这些边恰好存在于一个简单环中.一个环被称为简单环,当且仅当它包含的所有点都只在这个环中被经过了一次.(即求 ...
- jdk 的安装教程
1. 配置的位置 鼠标右击计算机----属性-----高级系统设置---环境变量----在系统变量中配置(推荐) 2.增加环境变量 (1)新建 ----- 变量名: JAVA_HOME 变量值 ...
- 连接数据库方法2-DBCP
DBCP(连接池): 解决对数据库建立以及关闭连接时消耗大量资源的解决方案. 程序创建和关闭对数据库连接时会消耗大量的资源,连接池技术帮我们 在程序运行的开始时就预先创建大量的连接,这些连接组成一个池 ...