結果
問題 | No.2932 えっえっ嘘嘘嘘待って待って待って???えマジで?ほんとに?マジでやばすぎなんだけど?えっおっほんとにこんなにDPしちゃっていいんですかい???マジでやばすぎなんだけど??? |
ユーザー |
|
提出日時 | 2024-10-12 16:50:54 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 681 bytes |
コンパイル時間 | 5,376 ms |
コンパイル使用メモリ | 308,308 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-12 16:51:00 |
合計ジャッジ時間 | 5,864 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using mint = atcoder::static_modint<998244353>;//using mint = atcoder::static_modint<1000000007>;using namespace std;using namespace atcoder;using ld = long double;using ll = long long;#define mp(a,b) make_pair(a,b)#define rep(i,s,n) for(int i=s; i<n; i++)const vector<int> dx{1,0,-1,0},dy{0,1,0,-1};int main(){ll h,w,m;cin >> h >> w >> m;mint ans=1;if(h+w-1>m)ans=0;else{rep(i,0,h+w-1)ans*=m-i,ans/=i+1;//ans/=mint(m).pow(h+w-1);//cout << ans.val() << "\n";rep(i,0,h-1)ans*=h+w-2-i,ans/=i+1;ans*=mint(m).pow((h-1)*(w-1));}cout << ans.val();}