zoukankan      html  css  js  c++  java
  • OpenJ_POJ C16B Robot Game 打表找规律

    Robot Game

    题目连接:

    http://acm.hust.edu.cn/vjudge/contest/122701#problem/B

    Description

    Sgeoghy has addicted herself to an interesting computer game! In this game, she needs to control a robot to pick up a required number of components. There are a lot of components lying in a line with arbitrary intervals, indexed from left to right, starting with 1. No two or more components share the same position. In the beginning, the robot starts at a random position where a component lies, and the robot should pick it up. Then on each step, the player can program the robot, by controlling its moving direction (left or right) as well as moving distance. After each step of moving, if there is a component at the destination, the robot will pick it up; But if not, the robot will die and the game will be over.

    Unfortunately, Sgeoghy is poor at programming. She can only make the robot move a fixed distance towards a fixed direction (left or right) every single step. For example, the positions of the components are:

    and the robot starts at the position of 5-th component. If Sgeoghy controls the robot to move a fixed distance 2 and a fixed direction right on each step, the robot can pick up 3 components indexed as 5, 6, 8, and dies at Position 15.

    At first, Sgeoghy can barely complete the missions. However, since the mission is getting harder and harder, she is getting stuck. Now she is facing a mission that the positions of the components are:

    and the robot starts at the position of y-th component. The robot is required to pick up 100 components to complete this mission. Can you help her? Since she can only program the robot to move a fixed distance towards a fixed direction, it may be impossible for her to complete this mission. However, you should still tell her the most components she can get.

    Input

    The first line contains an integer T (1 ≤ T ≤ 30), indicating the number of test cases.

    For each test case:

    A line contains an integer y (1 ≤ y ≤ 10^100), indicating that the robot starts at the position of y-th component.

    Output

    For each test case:

    The first line contains an integer n, indicating either the maximum possible number of components (1 ≤ n < 100) that the robot can pick up in this mission, or n=100 if Sgeoghy is able to complete this mission.

    Then follows n lines, the i-th line contains an integer xi, indicating the index of the i-th component picked up by the robot. Obviously, x1=y and x1,x2,...,xn are sequenced in strictly monotonic order. If there are several solutions, output any one.

    Sample Input

    1
    7661

    Sample Output

    3
    7661
    5417
    5

    Hint

    题意

    第i个零件的位置是i(i+1)

    有个机器人,一开始站在第y个零件的位置,这个机器人只能往前一直走,或者一直往下走,然后每一步的距离也必须相同,且每一步都必须踩到零件上面。

    问你这个机器人最多走多少步,且把每一步的零件坐标输出。

    题解:

    看了下样例,感觉最多走三步。

    打表找规律,发现输入x,输出5x+2,和7x+3就好了

    猜到结论之后,证明就很简单了,这儿省略。

    代码

    import java.io.*;
    import java.math.*;
    import java.util.*;
    
    
    public class Main
    {
        public static void main(String argv[]) throws Exception
        {
        	Scanner cin = new Scanner(System.in);
            int T = cin.nextInt();
            for( int cas = 1 ; cas <= T ; ++ cas ){
                BigInteger index = cin.nextBigInteger();
                System.out.println("3");
                System.out.println( index );
                System.out.println( index.multiply(BigInteger.valueOf(5)).add(BigInteger.valueOf(2)) );
                System.out.println( index.multiply(BigInteger.valueOf(7)).add(BigInteger.valueOf(3)) );
            }
        }
    }
  • 相关阅读:
    Pycharm的使用秘籍
    python 装饰器
    python继承和重写
    python中一切皆对象及__init__.py文件的使用
    python的参数类型与时序解包
    Jmeter使用计数器生成变量
    python unittest套件加载用例时,出现No tests were found,Empty test suite
    Python 执行tail文件并操作
    go 函数和流程控制
    go 数据类型和操作符
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5685759.html
Copyright © 2011-2022 走看看