結果
問題 | No.1747 Many Formulae 2 |
ユーザー |
|
提出日時 | 2022-07-23 20:32:18 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,170 bytes |
コンパイル時間 | 4,007 ms |
コンパイル使用メモリ | 253,028 KB |
最終ジャッジ日時 | 2025-01-30 13:27:16 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 15 |
ソースコード
#include <bits/stdc++.h> using namespace std; #include <atcoder/all> using namespace atcoder; #define ll long long #define rep(i, n) for (int i = 0; i < (n); i++) #define P pair<int, int> #define LP pair<ll, ll> #define fi first #define se second #define pb push_back #define eb emplace_back #define all(s) s.begin(), s.end() #define rall(s) s.rbegin(), s.rend() template<class T> void chmax(T& a, T b) { a = max(a, b); }; template<class T> void chmin(T& a, T b) { a = min(a, b); }; bool isPrime(ll x) { for (int i = 2; i*i <= x; i++) { if (x%i==0) return false; } cout << x << endl; return true; } int main() { string s; cin >> s; int n = s.size(); int ans = 0; rep(i,1<<(n-1)) { auto f = [&](string s, int bit) { vector<int> v; v.pb(0); rep(j,n) { if ((bit>>j)&1) v.pb(j+1); } v.pb(n); ll res = 0; rep(j, v.size()-1) { ll ten = 1; for (int k = v[j+1]-1; k >= v[j]; k--) { res += ten*(s[k]-'0'); ten *= 10; } } return res; }; ll x = f(s,i); if (isPrime(x)) ans++; } cout << ans << endl; return 0; }