結果
問題 | No.1747 Many Formulae 2 |
ユーザー | maple_1016 |
提出日時 | 2021-11-19 21:50:58 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 6 ms / 2,000 ms |
コード長 | 1,303 bytes |
コンパイル時間 | 1,900 ms |
コンパイル使用メモリ | 171,572 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-31 22:59:18 |
合計ジャッジ時間 | 2,821 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include<bits/stdc++.h> #define ll long long #define rep(i,n) for(ll i=0;i<(n);++i) #define reps(i,n) for(ll i=1;i<=(n);++i) #define repr(i,n) for(ll i=2;i*i<=(n);++i) #define all(x) (x).begin(),(x).end() #define sz(x) ((string)(x).size()) #define pb push_back #define pob pop_back() #define MMod (ll)1000000007 #define mmod (ll)998244353 #define setp(x) setprecision((ll)(x)) #define INF (ll)(1000000000000000000) using namespace std; using vi=vector<int>; using vc=vector<char>; using vb=vector<bool>; using vl=vector<long long>; using vvi=vector<vi>; using vvl=vector<vl>; using vvc=vector<vc>; using vvb=vector<vb>; using vpi=vector<pair<int,int>>; using vpl=vector<pair<ll,ll>>; using vs=vector<string>; using pii=pair<int, int>; using pll=pair<ll,ll>; using pqi=priority_queue<int>; int main(){ string s; cin>>s; int c=0; rep(bit,1<<(s.size()-1)){ string t=s; ll sum=0; int k=0; vi p; p.pb(0); rep(i,s.size()-1){ if(1<<i&bit) p.pb(i+1); } p.pb(s.size()); reverse(all(t)); rep(i,p.size()-1){ string u=t.substr(k,p[i+1]-p[i]); reverse(all(u)); ll a=stoll(u); sum+=a; k=p[i+1]; } bool b=1; if(sum==1) b=0; repr(l,sum) if(sum==1||sum%l==0) b=0; if(b) c++; } cout<<c<<endl; return 0; }