1278F - Cards - CodeForces Solution


combinatorics dp math number theory probabilities *2600

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize ("Ofast")
#pragma GCC target ("avx2")
#define el << '\n'
#define nl cout << '\n'
#define cina(a,n) for (int i=0; i<n; i++) cin >> a[i]
#define ll long long
#define spc << ' '
#define forn(i,n) for (int i=0; i<n; i++)
#define forl(i,s,e) for (int i=s; i<e; i++)
#define MOD 1000000007
#define MOD2 998244353
#define pb push_back
#define ansyes cout << "YES\n"
#define ansno cout << "NO\n"
#define fi first
#define se second
#define pii pair<int, int>
#define pll pair<long long, long long>

ll power(ll a, ll b) {
    if (b==0) return 1;
    if (b%2) return (a*power(a,b-1))%MOD2;
    ll temp = power(a,b/2);
    return (temp*temp)%MOD2;
}

ll inv(ll a) {
    return power(a,MOD2-2);
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll n,m; cin >> n >> m;
    ll k; cin >> k;
    ll dp[k+1][k+1];
    forn(i,k+1) forn(j,k+1) dp[i][j]=0;
    dp[0][0]=1;
    forn(i,k) {
        forn(j,k) {
            dp[i][j] %= MOD2;
            dp[i+1][j+1] += dp[i][j]*(n-j);
            dp[i+1][j] += dp[i][j]*j;
        }
        dp[i+1][k] += dp[i][k]*k;
    }
    ll ans=0;
    forl(i,1,k+1) {
        ans += (dp[k][i]%MOD2 * inv(power(m,i)));
        ans %= MOD2;
    } 
    cout << ans;
}


Comments

Submit
0 Comments
More Questions

1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness
1611B - Team Composition Programmers and Mathematicians
110A - Nearly Lucky Number
1220B - Multiplication Table
1644A - Doors and Keys
1644B - Anti-Fibonacci Permutation
1610A - Anti Light's Cell Guessing
349B - Color the Fence
144A - Arrival of the General
1106A - Lunar New Year and Cross Counting
58A - Chat room
230A - Dragons
200B - Drinks
13A - Numbers
129A - Cookies
1367B - Even Array
136A - Presents
1450A - Avoid Trygub
327A - Flipping Game
411A - Password Check
1520C - Not Adjacent Matrix
1538B - Friends and Candies
580A - Kefa and First Steps