結果
問題 | No.1747 Many Formulae 2 |
ユーザー | YK10211998 |
提出日時 | 2021-11-20 10:48:49 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,511 bytes |
コンパイル時間 | 2,022 ms |
コンパイル使用メモリ | 168,152 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-11 00:32:07 |
合計ジャッジ時間 | 2,687 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
6,944 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | AC | 2 ms
6,944 KB |
testcase_04 | AC | 2 ms
6,944 KB |
testcase_05 | AC | 2 ms
6,944 KB |
testcase_06 | AC | 3 ms
6,944 KB |
testcase_07 | AC | 2 ms
6,948 KB |
testcase_08 | AC | 2 ms
6,944 KB |
testcase_09 | AC | 2 ms
6,940 KB |
testcase_10 | AC | 2 ms
6,940 KB |
testcase_11 | AC | 2 ms
6,940 KB |
testcase_12 | AC | 3 ms
6,944 KB |
testcase_13 | AC | 2 ms
6,940 KB |
testcase_14 | AC | 2 ms
6,940 KB |
testcase_15 | AC | 2 ms
6,940 KB |
testcase_16 | AC | 2 ms
6,940 KB |
testcase_17 | AC | 2 ms
6,940 KB |
testcase_18 | AC | 2 ms
6,944 KB |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; using P = pair<int, int>; const int INF = INT_MAX; const ll LINF = LLONG_MAX; #define rep(i, s, n) for (int i = (s); i < (int)(n); ++i) #define repl(i, s, n) for (ll i = (s); i < (ll)(n); ++i) #define repr(i, s, n) for (int i = (s)-1; i >= (int)(n); --i) #define vec(type,name,size) vector<type>name(size) #define vecini(type,name,size,ini) vector<type>name(size,ini) #define vv(type,name,h,w) vector<vector<type>>name(h,vector<type>(w)) #define vvini(type,name,h,w,ini) vector<vector<type>>name(h,vector<type>(w,ini)) #define all(x) (x).begin(),(x).end() #define allr(x) (x).rbegin(),(x).rend() #define sz(x) ((int)(x).size()) template<class T> bool chmin(T& a, T b){ if(a > b) { a = b; return true; } return false; } template<class T> bool chmax(T& a, T b){ if(a < b) { a = b; return true; } return false; } bool is_prime(ll n) { if(n < 2) return false; for(ll i = 2; i * i <= n; ++i) { if(n % i == 0) return false; } return true; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; ll ret = 0; for(ll i = 0; i < (1<<(sz(s)-1)); ++i) { ll num = 0, idx = 0; for(ll j = 0; j < sz(s)-1; ++j) { if(i & (1<<j)) { num += stoll(s.substr(idx, j-idx+1)); idx = j+1; } } num += stoll(s.substr(idx, sz(s)-idx)); if(is_prime(num)) ++ret; } cout << ret << endl; return 0; }