Submission #3448201
Source Code Expand
#include <iostream> #include <string> using namespace std; template <typename T, typename U> T mypow(T b, U n) { if (n == 0) return 1; if (n == 1) return b /* % MOD */; if (n % 2 == 0) { return mypow(b * b /* % MOD */, n / 2); } else { return mypow(b, n - 1) * b /* % MOD */; } } int main() { int A; string S; cin >> A >> S; int b = 0, idx = 0; for (int i = 0; i < S.size(); ++i) { b += (S[i] - 'a' + 1) * mypow(A, i - idx); while (b > 26) { // できるだけ値を引いてbをAの倍数にしたい // 引く値は1以上26以下 for (int j = 26; j >= 1; --j) { // j引いたらbはAの倍数になるか? if ((b - j) % A == 0) { cout << (char)('a' + j - 1); b = (b - j) / A; ++idx; break; } } } } if (b > 0) cout << (char)('a' + b - 1); cout << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Best Password |
User | Tiramister |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1091 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | corner_18, corner_19, corner_20, corner_21, corner_22, corner_23, large_09, large_10, large_11, large_12, large_13, large_14, large_15, large_16, large_17, sample_00, sample_01, sample_02, sample_03, small_00, small_01, small_02, small_03, small_04, small_05, small_06, small_07, small_08 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
corner_18 | AC | 1 ms | 256 KB |
corner_19 | AC | 1 ms | 256 KB |
corner_20 | AC | 1 ms | 256 KB |
corner_21 | AC | 1 ms | 256 KB |
corner_22 | AC | 1 ms | 256 KB |
corner_23 | AC | 1 ms | 256 KB |
large_09 | AC | 1 ms | 256 KB |
large_10 | AC | 1 ms | 256 KB |
large_11 | AC | 1 ms | 256 KB |
large_12 | AC | 1 ms | 256 KB |
large_13 | AC | 1 ms | 256 KB |
large_14 | AC | 1 ms | 256 KB |
large_15 | AC | 1 ms | 256 KB |
large_16 | AC | 1 ms | 256 KB |
large_17 | AC | 1 ms | 256 KB |
sample_00 | AC | 1 ms | 256 KB |
sample_01 | AC | 1 ms | 256 KB |
sample_02 | AC | 1 ms | 256 KB |
sample_03 | AC | 1 ms | 256 KB |
small_00 | AC | 1 ms | 256 KB |
small_01 | AC | 1 ms | 256 KB |
small_02 | AC | 1 ms | 256 KB |
small_03 | AC | 1 ms | 256 KB |
small_04 | AC | 1 ms | 256 KB |
small_05 | AC | 1 ms | 256 KB |
small_06 | AC | 1 ms | 256 KB |
small_07 | AC | 1 ms | 256 KB |
small_08 | AC | 1 ms | 256 KB |