結果
問題 | No.491 10^9+1と回文 |
ユーザー |
![]() |
提出日時 | 2017-03-10 23:47:42 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 98 ms / 1,000 ms |
コード長 | 934 bytes |
コンパイル時間 | 1,283 ms |
コンパイル使用メモリ | 162,728 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-01 08:21:33 |
合計ジャッジ時間 | 12,899 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 103 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define int long long#define Rep(i, N) for(int i = 0; i < N; i++)#define Reps(i, x, N) for(int i = x; i < N; i++)string to_str(int n) {ostringstream os;os << n;return os.str();}signed main(){int N;cin >> N;int ans = 0;Reps(i, 1, 100000) {string T = to_str(i), R = T;string S, F;reverse(R.begin(), R.end());if(i < 10000) {S = T + R;int ssize = (int)S.size();Rep(j, 9 - ssize) S += '0';S += T + R;} else S = "1000000000000000001";T = to_str(i / 10);F = T + R;int fsize = (int)F.size();Rep(j, 9 - fsize) F += '0';F += T + R;//cout << S << " " << F << endl;int A, B;sscanf(S.c_str(), "%lld", &A);sscanf(F.c_str(), "%lld", &B);//cout << A << " " << B << endl;if(N >= A) ans++;if(N >= B) ans++;}cout << ans << endl;return 0;}