結果
問題 | No.491 10^9+1と回文 |
ユーザー | olphe |
提出日時 | 2017-03-10 23:00:34 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 13 ms / 1,000 ms |
コード長 | 2,255 bytes |
コンパイル時間 | 1,035 ms |
コンパイル使用メモリ | 112,992 KB |
実行使用メモリ | 9,856 KB |
最終ジャッジ日時 | 2024-10-01 07:10:14 |
合計ジャッジ時間 | 4,265 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 103 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:90:65: warning: iteration 2 invokes undefined behavior [-Waggressive-loop-optimizations] 90 | num.push_back(i * 1000000001 + j * 100000010 + k * 10000100 + l * 1001000 + m * 110000); | ~~^~~~~~~~~~~~ main.cpp:85:27: note: within this loop 85 | for (int i = 1; i < 10; i++) { | ~~^~~~
ソースコード
#include "iostream" #include "climits" #include "list" #include "queue" #include "stack" #include "set" #include "functional" #include "algorithm" #include "math.h" #include "utility" #include "string" #include "map" #include "unordered_map" #include "iomanip" #include "random" using namespace std; const long long int MOD = 1000000007; long long int N; string a; string b; int ans=0; int box; list <long long int>num; int main() { cin >> N; N /= 1000000001; for (int i = 1; i < 10; i++)num.push_back(i); for (int i = 1; i < 10; i++)num.push_back(i * 11); for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { num.push_back(i * 100 + j * 10 + i); } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { num.push_back(i * 1000 + j * 110 + i); } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { num.push_back(i * 10001 + j * 1010 + k * 100); } } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { num.push_back(i * 100001 + j * 10010 + k * 1100); } } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { for (int l = 0; l < 10; l++) { num.push_back(i * 1000001 + j * 100010 + k * 10100 + l * 1000); } } } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { for (int l = 0; l < 10; l++) { num.push_back(i * 10000001 + j * 1000010 + k * 100100 + l * 11000); } } } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { for (int l = 0; l < 10; l++) { for (int m = 0; m < 10; m++) { num.push_back(i * 100000001 + j * 10000010 + k * 1000100 + l * 101000 + m * 10000); } } } } } for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { for (int l = 0; l < 10; l++) { for (int m = 0; m < 10; m++) { num.push_back(i * 1000000001 + j * 100000010 + k * 10000100 + l * 1001000 + m * 110000); } } } } } for (auto i : num) { if (i <= N)ans++; else break; //cout << i << endl; } cout << ans << endl; return 0; }