好久没打ARC了,上次的鸭蛋让我回味无穷,我还伤心的掉下了。。。
这次卷土重来。。。我就是小码匠,2023年,一个勇往直前的小码匠。
话说:为啥就不出个400分的题目,对我太不友好了。。。
如果x是一个9位数的整数,并且它的十进制符号S
S
(其中S
是x的十进制符号的第i个字母)满足以下所有条件,那么一个正整数x就是一个美丽的整数:S
不是0
。
不是 "0"。
例如,998244353和333333是美丽的整数;111112222不是美丽的整数,因为
不等于
。
给定一个正整数N,从最小的到最大的第N个整数是
。 给出第N个美丽的整数,从最小的到最大的计数。
输入是通过标准输入的,格式如下.
N
输出从最小值开始计算的第N个美丽的整数。
3
110000020
将这些漂亮的整数按递减顺序排列,我们得到110000000,110000010,110000020,
。
882436
998244353
2023
110200222
结果的值有着一定规律,通过不同的循环周期,即可推导。
#include <bits/stdc++.h>
using namespace std;
#define endl '\n';
void best_coder() {
int n;
cin >> n;
--n;
int ans = 110000000;
vector <int> a = {10, 101, 11000, 100000, 1000000, 110000000};
int i = 0;
while (n > 0) {
ans += n % 10 * a[i];
n /= 10;
++i;
}
cout << ans;
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}