CF1493A.Anti-knapsack
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given two integers n and k. You are asked to choose maximum number of distinct integers from 1 to n so that there is no subset of chosen numbers with sum equal to k.
A subset of a set is a set that can be obtained from initial one by removing some (possibly all or none) elements of it.
给你两个整数 n 和 k。你需要从 1 到 n 中选出尽可能多的互不相同的整数,使得所选数字中不存在任何子集,其元素之和等于 k。
一个集合的子集是指从原集合中移除若干(可能全部、也可能不移除)元素后得到的集合。
输入格式
The first line contains the number of test cases T (1≤T≤100).
Each of the next T lines contains two integers n and k (1≤k≤n≤1000) — the description of test cases.
第一行包含测试用例的数量 T(1≤T≤100)。
接下来的 T 行中,每行包含两个整数 n 和 k(1≤k≤n≤1000),表示各测试用例的描述。
输出格式
For each test case output two lines. In the first line output a single integer m — the number of chosen integers.
In the second line output m distinct integers from 1 to n — the chosen numbers.
If there are multiple answers, print any. You can print the numbers in any order.
对于每个测试用例,输出两行。
第一行输出一个整数 m —— 所选整数的个数。
第二行输出 m 个互不相同的、取自 1 到 n 的整数 —— 所选的数字。
若存在多个合法答案,输出任意一个即可。所选数字的顺序可以任意。
输入输出样例
输入#1
3 3 2 5 3 1 1
输出#1
2 3 1 3 4 5 2 0
输入解题思路,AI测评打分。不知道怎么写?