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) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
随机推荐
- Day 14:FileInputStream、FileOutputStream
File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要使用IO流技术. IO流(Input Output) I ...
- linux下软件包的安装方式
参考:https://blog.51cto.com/13589255/2071277
- UVA 11997 The K smallest Sums
给出K*K的矩阵,每一行取一个数,构成K个数的和,总共有 k^k种可能,从中取出前k个最小的. 一开始犯了错,因为只要对每行排序,最小的必定是第一列的和,然后我当时就想着,逐步推进,每次将某行的那个数 ...
- GCPC 2013_A Boggle DFS+字典树 CSU 1457
上周比赛的题目,由于那个B题被神编译器的优化功能给卡了,就没动过这个题,其实就是个字典树嘛.当然,由于要在Boggle矩阵里得到初始序列,我还一度有点虚,不知道是用BFS还是DFS,最后发现DFS要好 ...
- tf.summary可视化参数
1.tf.summary.scalar('accuracy', accuracy) 损失值.准确率随着迭代次数的进行,其指标变化情况:一般在画loss,accuary时会用到这个函数. 2.tenso ...
- Hibernate(一)——入门
1. 前言 Hibernate是一个开放源代码的ORM持久化框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. ...
- javacv 设置帧率(续)
前文地址:https://www.cnblogs.com/svenwu/p/9663038.html 前文已经对大多数正常情况可以支持了,但是我最近处理一些公司的视频流,发现一些坑爹的情况 每次给的视 ...
- 线段树--线段树【模板1】P3372
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. 第二行包含 ...
- bootstrap 支持的JavaScript插件
一次性导入: Bootstrap提供了一个单一的文件,这个文件包含了Bootstrap的所有JavaScript插件,即bootstrap.js(压缩版本:bootstrap.min.js). 具体使 ...
- Pytorch学习--编程实战:猫和狗二分类
Pytorch学习系列(一)至(四)均摘自<深度学习框架PyTorch入门与实践>陈云 目录: 1.程序的主要功能 2.文件组织架构 3. 关于`__init__.py` 4.数据处理 5 ...