結果
問題 | No.1747 Many Formulae 2 |
ユーザー | cozy_sauna |
提出日時 | 2022-03-07 19:03:03 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 2,727 bytes |
コンパイル時間 | 387 ms |
コンパイル使用メモリ | 11,068 KB |
実行使用メモリ | 9,708 KB |
最終ジャッジ日時 | 2023-09-29 20:02:53 |
合計ジャッジ時間 | 2,169 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge15 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 25 ms
9,596 KB |
testcase_01 | AC | 24 ms
9,624 KB |
testcase_02 | AC | 26 ms
9,604 KB |
testcase_03 | AC | 23 ms
9,708 KB |
testcase_04 | AC | 24 ms
9,536 KB |
testcase_05 | AC | 24 ms
9,532 KB |
testcase_06 | AC | 24 ms
9,488 KB |
testcase_07 | AC | 25 ms
9,636 KB |
testcase_08 | AC | 24 ms
9,488 KB |
testcase_09 | AC | 24 ms
9,556 KB |
testcase_10 | AC | 23 ms
9,580 KB |
testcase_11 | AC | 24 ms
9,544 KB |
testcase_12 | AC | 23 ms
9,552 KB |
testcase_13 | AC | 23 ms
9,488 KB |
testcase_14 | AC | 23 ms
9,584 KB |
testcase_15 | AC | 27 ms
9,632 KB |
testcase_16 | AC | 26 ms
9,556 KB |
testcase_17 | AC | 23 ms
9,600 KB |
testcase_18 | AC | 23 ms
9,556 KB |
ソースコード
from sys import setrecursionlimit, stdin from collections import defaultdict, deque from itertools import permutations, combinations, product from functools import lru_cache from random import sample, choice, randint, random from heapq import heappush, heappop from math import factorial, exp from copy import copy, deepcopy from time import time from bisect import bisect_left, bisect_right setrecursionlimit(1 << 20) readline = stdin.readline # @lru_cache(maxsize=None) INF = 10 ** 18 MOD = 998244353 # MOD = 1000000007 DYDX = [(-1, 0), (1, 0), (0, -1), (0, 1)] ''' Input ''' def I(): return int(readline()) def S(): return readline()[:-1] def LI(): return list(map(int, readline().split())) def LII(): return list(map(lambda x: int(x)-1, readline().split())) def SPI(): return map(int, readline().split()) def SPII(): return map(lambda x: int(x)-1, readline().split()) def FIE(x): return [readline()[:-1] for _ in [0] * x] def NODE(N, edge): ret = [[] for _ in [0] * N] for _ in [0] * edge: a, b = SPII() ret[a].append(b) ret[b].append(a) return ret ''' Array ''' def cmin(dp, i, x): if x < dp[i]: dp[i] = x def cmax(dp, i, x): if x > dp[i]: dp[i] = x ''' Sorted Array ''' # x <= A[i] (minimum i meeting the requirement) def binary(sortedA, x): return bisect_left(sortedA, x) # x < A[i] (minimum i meeting the requirement) def binary2(sortedA, x): return bisect_right(sortedA, x + 1) # number of x in A def quantity(sortedA, x): return bisect_right(sortedA, x) - bisect_left(sortedA, x) ''' Other''' def ranges(*args): return [(i, j) for i in range(args[0]) for j in range(args[-1])] def nynx(y, x, ly = INF, lx = INF): return [(y + dy, x + dx) for dy, dx in DYDX if 0 <= y + dy < ly and 0 <= x + dx < lx] def gen(x, *args): ret = [x] * args[-1] for e in args[:-1][::-1]: ret = [deepcopy(ret) for _ in [0] * e] return ret def is_prime(x): if x == 1 or x % 2 == 0: return x == 2 f = 3 while f * f <= x: if x % f == 0: return False f += 2 return True ''' Output ''' def puts(E): for e in E: print(e) def pprint(E): print() for e in E: print(e) def yn(x): print("Yes" if x else "No") def blank(arr): print(" ".join(map(str, arr))) def debug(*args): if DEBUG: for e in args: print(e) DEBUG = False ############################################################################################### s = input() ans = 0 for i in range(1 << len(s) - 1): total = 0 now = int(s[0]) for j in range(len(s) - 1): if i >> j & 1: total += now now = 0 else: now *= 10 now += int(s[j+1]) total += now ans += is_prime(total) print(ans)