CF1837A.Grasshopper on a Line
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given two integers x and k. Grasshopper starts in a point 0 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.
给你两个整数 x 和 k。一只蚱蜢起始于 OX 轴上的点 0。在一次移动中,它可向左或向右跳跃一个不被 k 整除的任意整数距离。
蚱蜢到达点 x 所需的最少移动次数是多少?这些移动分别是什么?如果存在多种答案,输出任意一种即可。
输入格式
The first line contains a single integer t (1≤t≤1000) — the number of testcases.
The only line of each testcase contains two integers x and k (1≤x≤100; 2≤k≤100) — the endpoint and the constraint on the jumps, respectively.
第一行包含一个整数 t(1≤t≤1000)—— 测试用例的数量。
每个测试用例仅有一行,包含两个整数 x 和 k(1≤x≤100;2≤k≤100)—— 分别表示终点位置和跳跃长度的约束。
输出格式
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 to 109. 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 to 109.
It can be shown that the answer always exists under the given constraints. If there are multiple answers, print any of them.
对于每个测试用例,在第一行输出一个整数 n —— 蚱蜢到达点 x 所需的最少移动次数。
在第二行输出 n 个整数,每个整数均不能被 k 整除。正整数表示向右跳跃,负整数表示向左跳跃。经过这些跳跃后,终点必须恰好为 x。
每次跳跃的距离应在 −109 到 109 之间。可以证明:对于任意一个跳跃次数最少的解,均存在一个具有相同跳跃次数的解,且其中每次跳跃的距离均在 −109 到 109 之间。
在给定约束条件下,答案一定存在。若存在多个合法答案,输出任意一个即可。
输入输出样例
输入#1
3 10 2 10 3 3 4
输出#1
2 7 3 1 10 1 3
输入解题思路,AI测评打分。不知道怎么写?