結果
問題 | No.1458 Segment Function |
ユーザー |
|
提出日時 | 2021-03-31 22:20:45 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 82 ms / 2,000 ms |
コード長 | 758 bytes |
コンパイル時間 | 1,602 ms |
コンパイル使用メモリ | 169,232 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-12 13:36:38 |
合計ジャッジ時間 | 3,814 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (int)(n); i++) using namespace std; typedef long long ll; int f(string S) { if (S == "0") return 6; if (S == "1") return 2; if (S == "2") return 5; if (S == "3") return 5; if (S == "4") return 4; if (S == "5") return 5; if (S == "6") return 6; if (S == "7") return 4; if (S == "8") return 7; if (S == "9") return 6; if (S[0] == '-') return 1 + f(S.substr(1, S.size() - 1)); int ret = 0; rep(i, S.size()) ret += f(S.substr(i, 1)); return ret; } int main() { string P, N; cin >> P >> N; int M; if (N.size() > 6) M = 1000000; else M = stoi(N); rep(i, M) { P = to_string(f(P)); } cout << P << "\n"; }