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