1004 三途川畔
这是一个构造题, 那我们就考虑一下特殊情况, 把前面n-2个元素全部设为1,看看只用最后两个元素能不能构造出符合题意的元素, 可以得到n-2+a+b+k=a*b,令a=2, 解得b=n+k, 构造成功。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
typedef long double ld;
typedef vector<vector<ll> > mat;
const ll N = 2e5 + 5, INF = 1e9, MOD = 1e9 + 7, B = 10;
void solve() {
ll n, k;
cin >> n >> k;
ll a = 2, b = n + k;
for (ll i = 1; i <= n - 2; ++i) {
cout << 1 << ' ';
}
cout << a << ' ' << b << '\n';
}
int main() {
ios::sync_with_stdio(0), cout.tie(0), cin.tie(0);
ll tt; cin >> tt; while(tt--)
solve();
return 0;
}

京公网安备 11010502036488号