其他分享
首页 > 其他分享> > Codeforces A. Anti-knapsack (找规律详解)(Round #705 Div.2)

Codeforces A. Anti-knapsack (找规律详解)(Round #705 Div.2)

作者:互联网

链接: [link](https://codeforc.es/contest/1493/problem/A).

在这里插入图片描述思路:我经验比较少在经过几次数据测试后,发现这个题属于一个找规律的简单的数论。首先,大于k的数字肯定是要输出的。其次,等于k的数据不用输出。最后,我们考察小于k的数字,在小于k的数字当中,从k/2向上取整开始,数字之间肯定加不到k。例如:n=7,k=5;
输出:6,7,3,4

代码如下:

#include<iostream>
#include<set>
#include<vector>
using namespace std;

vector<int> v;

int main()
{
	int T;
	cin >> T;
	while(T--){
		int n,k;
		v.clear();
		cin >> n >> k;
		for(int i = k+1;i <= n;i++) v.push_back(i);
		for(int i = k/2+(k%2);i < k;i++) v.push_back(i);
		cout << v.size() << endl;
		for(int i = 0;i < v.size();i++)
			cout << v[i] << " ";
		cout << endl;
	} 
}

标签:输出,数字,小于,int,705,Codeforces,cin,Anti,include
来源: https://blog.csdn.net/yundan12/article/details/114633817