• A. Grasshopper on a Line


    time limit per test

    2 seconds

    memory limit per test

    256 megabytes

    input

    standard input

    output

    standard output

    You are given two integers x� and k�. Grasshopper starts in a point 00 on an OX axis. In one move, it can jump some integer distance, that is not divisible by k�, to the left or to the right.

    What's the smallest number of moves it takes the grasshopper to reach point x�? What are these moves? If there are multiple answers, print any of them.

    Input

    The first line contains a single integer t� (1≤t≤10001≤�≤1000) — the number of testcases.

    The only line of each testcase contains two integers x� and k� (1≤x≤1001≤�≤100; 2≤k≤1002≤�≤100) — the endpoint and the constraint on the jumps, respectively.

    Output

    For each testcase, in the first line, print a single integer n� — the smallest number of moves it takes the grasshopper to reach point x�.

    In the second line, print n� integers, each of them not divisible by k�. A positive integer would mean jumping to the right, a negative integer would mean jumping to the left. The endpoint after the jumps should be exactly x�.

    Each jump distance should be from −109−109 to 109109. In can be shown that, for any solution with the smallest number of jumps, there exists a solution with the same number of jumps such that each jump is from −109−109 to 109109.

    It can be shown that the answer always exists under the given constraints. If there are multiple answers, print any of them.

    Example

    input

    Copy

     
    

    3

    10 2

    10 3

    3 4

    output

    Copy

    2
    7 3
    1
    10
    1
    3

    解题说明:此题是一道模拟题,根据题目意思直接判断

    如果k大于x,那么就可以一次走完,输出1

    如果k小于x,如果k不能被x整除,那么输出1,如果k可以被x整除,那么输出两个数,分别是1,x-1.

    1. #include
    2. int main()
    3. {
    4. int t;
    5. scanf("%d", &t);
    6. while (t--)
    7. {
    8. int x, k;
    9. scanf("%d %d", &x, &k);
    10. if (x % k != 0)
    11. {
    12. printf("1\n%d\n", x);
    13. }
    14. else
    15. {
    16. printf("2\n1 %d\n", x - 1);
    17. }
    18. }
    19. return 0;
    20. }

  • 相关阅读:
    【DDPM论文解读】Denoising Diffusion Probabilistic Models
    杂题选做(NOIP赛前放松)
    oracle_install2
    【Linux】Linux工具——gdb
    STM32 NAND FLASH知识点
    【重识云原生】第四章云网络4.7.2节——virtio网络半虚拟化简介
    【用unity实现100个游戏之12】unity制作一个俯视角2DRPG《类星露谷物语》资源收集游戏demo
    Android自定义View——实现字母导航栏
    【计算机图形学】期末考试课后习题重点复习(第1-2章)
    四平巨元无线监控解决方案
  • 原文地址:https://blog.csdn.net/jj12345jj198999/article/details/132912534