From d8e76b882e7aeb709fa76904c767a356c943f554 Mon Sep 17 00:00:00 2001 From: TooYoungTooSimp <6648049+TooYoungTooSimp@users.noreply.github.com> Date: Sun, 4 Dec 2016 21:57:08 +0800 Subject: [PATCH] bzoj 1008 4029 --- OnlineJudges/lydsy/1008.cpp | 18 ++++++++++++++++++ OnlineJudges/lydsy/4029.cpp | 29 +++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 OnlineJudges/lydsy/1008.cpp create mode 100644 OnlineJudges/lydsy/4029.cpp diff --git a/OnlineJudges/lydsy/1008.cpp b/OnlineJudges/lydsy/1008.cpp new file mode 100644 index 0000000..4e29925 --- /dev/null +++ b/OnlineJudges/lydsy/1008.cpp @@ -0,0 +1,18 @@ +#include +typedef long long int64; +const int MOD = 100003; +int fast_pow(int64 a, int64 b) +{ + int64 ans = 1; + for (; b; a = (a * a) % MOD, b >>= 1) + if (b & 1) + ans = (ans * a) % MOD; + return ans; +} +int main() +{ + int64 m, n; + scanf("%lld%lld", &m, &n); + printf("%lld", (fast_pow(m, n) - (m * fast_pow(m - 1, n - 1)) % MOD + MOD) % MOD); + return 0; +} \ No newline at end of file diff --git a/OnlineJudges/lydsy/4029.cpp b/OnlineJudges/lydsy/4029.cpp new file mode 100644 index 0000000..5118d86 --- /dev/null +++ b/OnlineJudges/lydsy/4029.cpp @@ -0,0 +1,29 @@ +#include +inline int calc(int x) +{ + int ret = 0; + while (x % 10 == 0) x /= 10; + if (x % 5 == 0) ret--; + while (x) x /= 10, ret += 2; + return ret; +} +int main() +{ + int n; + scanf("%d", &n); + while (n--) + { + int l, r, minn, ans, tmp; + scanf("%d%d", &l, &r); + minn = calc(ans = l); + while (l < r) + { + int p = 1; + while (l % 10 == 0) l /= 10, p *= 10; + l = l * p + p; + if (l <= r && (tmp = calc(l)) < minn) ans = l, minn = tmp; + } + printf("%d\n", ans); + } + return 0; +} \ No newline at end of file