結果

問題 No.2356 Back Door Tour in Four Seasons
ユーザー kotatsugamekotatsugame
提出日時 2023-06-16 21:54:14
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 191 ms / 2,000 ms
コード長 615 bytes
コンパイル時間 692 ms
コンパイル使用メモリ 73,712 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-24 13:55:48
合計ジャッジ時間 5,780 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<vector>
#include<atcoder/modint>
using namespace std;
using mint=atcoder::modint998244353;
vector<int>A[4];
int main()
{
	int N;
	cin>>N;
	long Aall=0;
	for(int i=0;i<N;i++)
	{
		string s;
		int a;
		cin>>s>>a;
		if(s=="U")A[0].push_back(a);
		else if(s=="F")A[1].push_back(a);
		else if(s=="W")A[2].push_back(a);
		else A[3].push_back(a);
		Aall+=a;
	}
	mint t=A[3].size();
	for(int i=0;i<3;i++)
	{
		mint sum=0;
		for(int a:A[i])
		{
			mint f=mint::raw(N-1).pow(a);
			mint g=mint::raw(N-2).pow(a);
			sum+=(f-g)/f;
		}
		t*=sum;
	}
	cout<<(t*mint::raw(N-1).pow(Aall)).val()<<endl;
}
0