結果
問題 | No.170 スワップ文字列(Easy) |
ユーザー |
|
提出日時 | 2015-03-22 23:26:33 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 81 ms / 5,000 ms |
コード長 | 993 bytes |
コンパイル時間 | 2,080 ms |
コンパイル使用メモリ | 169,840 KB |
実行使用メモリ | 6,528 KB |
最終ジャッジ日時 | 2024-12-23 00:08:06 |
合計ジャッジ時間 | 2,664 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define all(c) (c).begin(),(c).end()#define rrep(i,n) for(int i=(int)(n)-1;i>=0;i--)#define REP(i,m,n) for(int i=(int)(m);i<(int)(n);i++)#define rep(i,n) REP(i,0,n)#define iter(c) __typeof((c).begin())#define tr(it,c) for(iter(c) it=(c).begin();it!=(c).end();it++)#define pb(a) push_back(a)#define pr(a) cout<<(a)<<endl#define PR(a,b) cout<<(a)<<" "<<(b)<<endl#define R cin>>#define F first#define S second#define ll long longbool check(int n,int m,int x,int y){return x>=0&&x<n&&y>=0&&y<m;}const ll MAX=1000000007,MAXL=1LL<<60,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};typedef pair<int,int> P;int main() {string s;cin >> s;set<string> se;se.insert(s);queue<string> que;que.push(s);while(!que.empty()) {s=que.front();que.pop();rep(i,s.size()-1) {string t=s;swap(t[i],t[i+1]);if(!se.count(t)) {se.insert(t);que.push(t);}}}cout << se.size()-1 << endl;return 0;}