A - Once In My Life (构造)
分析
根据题目要求需要两个d,并且要保证123456789都存在,那么就可以尝试先构造出一个数保证存在123456789。
尝试以下构造方式:设n的长度为len,则可以构造出 $kn=(\frac{123456789{10}^{len+1}}{n}+1)n$, 可以发现 $kn$ 的前缀一定是1234567890X,此时只要对$k$每次+1,至多一百次一定能出现想要的$d$。
代码实现
1234567891011121314151617181920212223#include <bits/stdc++.h>int main() { std::cin.tie(nullptr)->sync_with_stdio(false); #define int long long constexpr int N = 123456789LL; int tt; for (std::cin >> tt; tt--;) { int n, d; std: ...