結果
問題 | No.2527 H and W |
ユーザー |
![]() |
提出日時 | 2023-11-03 21:36:56 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 377 ms / 2,000 ms |
コード長 | 1,402 bytes |
コンパイル時間 | 8,077 ms |
コンパイル使用メモリ | 350,984 KB |
実行使用メモリ | 19,176 KB |
最終ジャッジ日時 | 2024-09-25 19:35:07 |
合計ジャッジ時間 | 17,886 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#pragma GCC target("avx2")#pragma GCC optimize("O3")#pragma GCC optimize("unroll-loops")#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ull;constexpr int dx[]={1,0,0,-1},dy[]={0,1,-1,0};constexpr int Dx[]={1,1,0,-1,-1,-1,0,1},Dy[]={0,1,1,1,0,-1,-1,-1};constexpr int mod=998244353,Mod=1e9+7,inf=Mod;constexpr ll linf=(ll)inf*inf;typedef pair<ll,int>P;#define m_p make_pairstruct fastio{fastio(){cin.tie(0);ios::sync_with_stdio(0);cout<<fixed<<setprecision(20);};}fio;template<class T,class U>bool chmax(T&a,const U&b){if(a<b){a=b;return 1;}return 0;}template<class T,class U>bool chmin(T&a,const U&b){if(a>b){a=b;return 1;}return 0;}//*#include<atcoder/all>using namespace atcoder;//*/ll fact[1000001],invfac[1000001];ll mypow(int x,ll n){if(n==0)return 1;if(n%2==1)return mypow(x,n-1)*x%mod;ll res=mypow(x,n/2);return res*res%mod;}ll inv(int x){return mypow(x,mod-2);}ll comb(int n,int r){if(!(0<=r&&r<=n))return 0;return fact[n]*invfac[r]%mod*invfac[n-r]%mod;}int main(){fact[0]=1;for(int i=1;i<=1000000;i++)fact[i]=fact[i-1]*i%mod;for(int i=0;i<=1000000;i++)invfac[i]=inv(fact[i]);int h,w;ll k;cin>>h>>w>>k;ll ans=0;for(int i=1;i<=h;i++){ll j=k/i;if(!(i*j==k&&j<=w))continue;(ans+=comb(h,i)*comb(w,j))%=mod;}cout<<ans<<endl;}