結果
問題 | No.52 よくある文字列の問題 |
ユーザー |
|
提出日時 | 2017-09-11 11:05:25 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,292 bytes |
コンパイル時間 | 1,517 ms |
コンパイル使用メモリ | 167,720 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-22 05:32:33 |
合計ジャッジ時間 | 1,940 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
ソースコード
// no.52 #include <bits/stdc++.h> #define MOD 1000000007 #define pe(str) return cout<<(str)<<endl,0 #define px(str) {cout<<(str)<<endl;exit(0);} #define pr(str) cout<<(str)<<endl #define prpr(str) cout<<str<<endl #define db(str) cerr<<"debug:"<<(str)<<endl #define dbdb(str) cerr<<"debugs:"<<str<<endl #define re(i,n) for(int i=0;i<(n);i++) #define rep(i,a,b) for(int i=(a);i<(b);i++) #define bw(a,b,c) (((a)<=(b))&&((b)<=(c))) #define spr(a) setprecision(a) #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair<int,int> pii; typedef complex<int> point; template<class InputIterator> void dump(InputIterator first,InputIterator last,char delim=' '){ for(InputIterator it=first;it!=last;it++){ if(it!=first)cout<<delim; cout<<*it; } } ull p(ull x,ull y){ if(y==0) return 1; ull A=p(x,y/2)%MOD; // return (y&1?((A*A)%MOD*x)%MOD: (A*A)%MOD); return (y&1?((A*A)*x):(A*A)); } int main(void){ string s; int a,b; std::set<string> ss; cin>>s; int k=0; for(int x=0;x<(1<<s.size());x++){ string t=""; a=0;b=s.size()-1; re(i,s.size()){ if((k>>i)&1)t+=s[b--]; else t+=s[a++]; } ss.insert(t); k++; } cout<<ss.size()<<endl; return 0; }