ABC 357
Table of Contents
https://atcoder.jp/contests/abc357
A. Sanitize Hands
https://atcoder.jp/contests/abc357/tasks/abc357_a
B. Uppercase and Lowercase
https://atcoder.jp/contests/abc357/tasks/abc357_b
C. Sierpinski carpet
https://atcoder.jp/contests/abc357/tasks/abc357_c
D. 88888888
https://atcoder.jp/contests/abc357/tasks/abc357_d
$N$ の桁数を $d$ とすると $N$ を $N$ 個つなげた整数は
\begin{align*} &N \times 10^{d \times 0} + N \times 10^{d \times 1} + \cdots + N \times 10^{d \times (N-1)} \\ &= N \times \sum_{i=0}^{N-1} (10^d)^i \\ &= N \times \frac{(10^d)^N - 1}{10^d - 1} \end{align*}
void solve() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
ll N;
cin >> N;
ll d = 0;
{
ll t = N;
while (t) {
t /= 10;
d++;
}
}
mint ans = N, ten = 10;
ans *= (ten.pow(d).pow(N) - 1) / (ten.pow(d) - 1);
cout << ans.val() << endl;
}
E. Reachability in Functional Graph
https://atcoder.jp/contests/abc357/tasks/abc357_e
F. Two Sequence Queries
https://atcoder.jp/contests/abc357/tasks/abc357_f