結果
問題 | No.491 10^9+1と回文 |
ユーザー |
|
提出日時 | 2017-03-10 23:26:26 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,510 bytes |
コンパイル時間 | 4,504 ms |
コンパイル使用メモリ | 78,600 KB |
実行使用メモリ | 59,052 KB |
最終ジャッジ日時 | 2024-06-24 08:47:24 |
合計ジャッジ時間 | 29,120 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 85 WA * 18 |
ソースコード
import java.io.*;import java.util.*;public class Main_yukicoder491 {private static Scanner sc;private static Printer pr;private static void solve() {long n = sc.nextLong();long t = 1_000_000_001;int ret = 0;for (int i = 1; i < 100000; i++) {if (i % 10 == 0) {continue;}StringBuilder tmp = new StringBuilder();tmp.append(i);if (t * i <= n) {if (isPalindrome(tmp)) {ret++;}}while (tmp.length() < 5) {tmp.insert(0, '0');int m = tmp.length();if (m * 2 < 6) {continue;}StringBuilder tmp2 = new StringBuilder();for (int j = 0; j < m; j++) {tmp2.append(tmp.charAt(m - 1 - j));}if (m == 5) {tmp2.deleteCharAt(m - 1);}for (int j = 0; j < m; j++) {tmp2.append(tmp.charAt(j));}long ltmp = Long.parseLong(tmp2.toString());if (t * ltmp <= n) {ret++;}}}pr.println(ret);}private static boolean isPalindrome(StringBuilder str) {int n = str.length();boolean flag = true;for (int i = 0; i < n / 2; i++) {if (str.charAt(i) != str.charAt(n - 1 - i)) {flag = false;break;}}return flag;}// ---------------------------------------------------public static void main(String[] args) {sc = new Scanner(System.in);pr = new Printer(System.out);solve();pr.close();sc.close();}private static class Printer extends PrintWriter {Printer(PrintStream out) {super(out);}}}