結果

問題 No.170 スワップ文字列(Easy)
コンテスト
ユーザー YoshiRyu
提出日時 2017-05-16 18:06:57
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 787 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 869 ms
コンパイル使用メモリ 174,360 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-06 03:13:30
合計ジャッジ時間 1,751 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include "bits/stdc++.h"

// マクロ群
#define REP(i,n) for(int i=0;i<n;++i)
#define REP2(i,a,b) for (int i=(a);i<(b);++i)
#define rep(n) REP(i,n)
#define SF(f,v) scanf(f,v)
#define SF_N(v) SF("%d",&v)
#define SF_S(v) SF("%s",v)
#define PF(f,v) printf(f,v)
#define PFS_N(v) PF("%d ",v)
#define PFS_S(v) PF("%s ",v)
#define PFL_N(v) PF("%d\n",v)
#define PFL_S(v) PF("%s\n",v)

typedef long long ll;

using namespace std;

const ll MOD = 573;

static string S;
static int memo['Z'] = { 0 }, All = 1, Dup = 1, Cnt = 1;

void Slove()
{
	cin >> S;

	for (auto c : S)
	{
		// 文字数カウント
		++memo[c];

		// 重複パターンを除外するための母数
		Dup *= memo[c];
		
		// 全体数の階乗
		All *= Cnt++;
	}

	PFL_N(All / Dup - 1);
}

int main() { Slove(); return 0; }
0