提出 #75484739


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using vll = vector<ll>;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
#define all(x) (x).begin(), (x).end()
#define pb push_back

template<class T> inline bool chmax(T& a, T b) { return a < b ? a = b, 1 : 0; }
template<class T> inline bool chmin(T& a, T b) { return a > b ? a = b, 1 : 0; }

const int MOD = 998244353;

ll bpow(ll base,ll exp){
    ll res=1;
    base%=MOD;
    while(exp>0){
        if(exp&1)res=(res*base)%MOD;
        base=(base*base)%MOD;
        exp/=2;
    }
    return res;
}
void solve() {

    int n,m;cin>>n>>m;
    // can count compilnertary counting , array not having a nujmber;
    vector<vector<pair<int,int>>> freq(n*m+1);
    for(int i=0;i<n;i++){
        vector<int> row(m);
        for(int j=0;j<m;j++)cin>>row[j] ;
        sort(all(row));
        for(int j=0;j<m;j++){
            int k=j;
            while(k<m&&row[k]==row[j])k++;
            freq[row[j]].pb({i,k-j});
            j=k-1;
        }
    }
    ll total=bpow(m,n);
    ll ans=0;
    ll maxi=n*m;
    for(int x=1;x<=maxi;x++){
        if(freq[x].empty())continue;
        
        ll without=bpow(m,n-freq[x].size());
        for(auto&p:freq[x]){
            int cnt=p.second;
            without=(without*(m-cnt))%MOD;


        }
        ll with=(total-without+MOD)%MOD;
        ans=(ans+with  )%MOD;
    }
    cout<<ans<<'\n';


    
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int tt = 1;
    //cin>>tt;
    while (tt--) {
        solve();
    }

    return 0;
}

提出情報

提出日時
問題 A - Many Sets
ユーザ lavi3
言語 C++23 (GCC 15.2.0)
得点 400
コード長 1673 Byte
結果 AC
実行時間 44 ms
メモリ 16948 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 35
セット名 テストケース
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt
ケース名 結果 実行時間 メモリ
example_00.txt AC 1 ms 3516 KiB
example_01.txt AC 1 ms 3468 KiB
example_02.txt AC 1 ms 3516 KiB
test_00.txt AC 1 ms 3468 KiB
test_01.txt AC 1 ms 3596 KiB
test_02.txt AC 1 ms 3712 KiB
test_03.txt AC 13 ms 6736 KiB
test_04.txt AC 27 ms 10896 KiB
test_05.txt AC 5 ms 4444 KiB
test_06.txt AC 3 ms 3948 KiB
test_07.txt AC 4 ms 4264 KiB
test_08.txt AC 4 ms 4264 KiB
test_09.txt AC 6 ms 4904 KiB
test_10.txt AC 44 ms 14388 KiB
test_11.txt AC 41 ms 14252 KiB
test_12.txt AC 41 ms 14368 KiB
test_13.txt AC 42 ms 14392 KiB
test_14.txt AC 41 ms 14396 KiB
test_15.txt AC 41 ms 14416 KiB
test_16.txt AC 41 ms 14392 KiB
test_17.txt AC 23 ms 11432 KiB
test_18.txt AC 22 ms 11472 KiB
test_19.txt AC 22 ms 11352 KiB
test_20.txt AC 22 ms 11308 KiB
test_21.txt AC 22 ms 11372 KiB
test_22.txt AC 23 ms 11352 KiB
test_23.txt AC 23 ms 11472 KiB
test_24.txt AC 32 ms 16876 KiB
test_25.txt AC 33 ms 16832 KiB
test_26.txt AC 32 ms 16948 KiB
test_27.txt AC 32 ms 16928 KiB
test_28.txt AC 12 ms 9128 KiB
test_29.txt AC 12 ms 9252 KiB
test_30.txt AC 12 ms 9256 KiB
test_31.txt AC 13 ms 9268 KiB