結果
問題 | No.170 スワップ文字列(Easy) |
ユーザー |
![]() |
提出日時 | 2015-03-22 23:59:48 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,135 bytes |
コンパイル時間 | 787 ms |
コンパイル使用メモリ | 92,408 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-23 00:16:03 |
合計ジャッジ時間 | 1,587 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <cstdio>#include <iostream>#include <vector>#include <map>#include <set>#include <string>#include <cstring>#include <sstream>#include <algorithm>#include <functional>#include <queue>#include <stack>#include <cmath>#include <iomanip>using namespace std;#define FOR(i,a,b) for(int i=(a);i<(b);++i)#define REP(i,n) FOR(i,0,n)#define CLR(a) memset((a), 0 ,sizeof(a))#define MCLR(a) memset((a), -1 ,sizeof(a))#define SZ(a) (sizeof(a))#define FILL(a,v) fill((int*)a,(int*)(a+(SZ(a)/SZ(*(a)))),v)bool cheak(int x, int y, int xMax, int yMax){return x >= 0 && y >= 0 && xMax > x && yMax > y;}const int dx[4] = { -1, 0, 1, 0 }, dy[4] = { 0, 1, 0, -1 };const int INF = 2147483647;typedef pair<int, int> P;typedef long long ll;typedef unsigned long long ull;const int mod = 1000000007;ll solve(int num){ll val = 1;for (ll i = 1;i <= num;i++)val *= i;return val;}int main(){string s;cin >> s;int n = s.length();map<int,int> ma;for (int i = 0;i < n;i++)ma[s[i]]++;ll ans = solve(n);for (auto i : ma){ans /= solve(i.second);}cout << ans-1 << endl;return 0;}