結果
問題 | No.491 10^9+1と回文 |
ユーザー |
|
提出日時 | 2017-03-10 23:37:41 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,513 bytes |
コンパイル時間 | 4,014 ms |
コンパイル使用メモリ | 78,484 KB |
実行使用メモリ | 64,744 KB |
最終ジャッジ日時 | 2024-06-24 09:00:12 |
合計ジャッジ時間 | 35,190 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 89 WA * 13 MLE * 1 |
ソースコード
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 < 100_000; 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) {int m = tmp.length();if (m * 2 >= 6) {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++;}}tmp.insert(0, '0');}}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);}}}