/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 320.0 KiB
#2 Accepted 15ms 1.008 MiB
#3 Accepted 16ms 976.0 KiB
#4 Accepted 23ms 1012.0 KiB
#5 Accepted 25ms 788.0 KiB
#6 Accepted 17ms 788.0 KiB
#7 Accepted 14ms 1020.0 KiB
#8 Accepted 16ms 824.0 KiB
#9 Accepted 18ms 1.008 MiB
#10 Accepted 18ms 788.0 KiB
#11 Accepted 20ms 1.008 MiB
#12 Accepted 21ms 788.0 KiB
#13 Accepted 18ms 828.0 KiB
#14 Accepted 20ms 992.0 KiB
#15 Accepted 20ms 1004.0 KiB
#16 Accepted 38ms 788.0 KiB
#17 Accepted 15ms 992.0 KiB
#18 Accepted 17ms 788.0 KiB
#19 Accepted 39ms 964.0 KiB
#20 Accepted 14ms 788.0 KiB
#21 Accepted 18ms 860.0 KiB
#22 Accepted 41ms 4.996 MiB
#23 Accepted 17ms 4.746 MiB
#24 Accepted 19ms 4.895 MiB
#25 Accepted 17ms 4.52 MiB
#26 Accepted 21ms 5.066 MiB
#27 Accepted 19ms 5.02 MiB
#28 Accepted 17ms 4.27 MiB
#29 Accepted 20ms 5.02 MiB
#30 Accepted 18ms 4.945 MiB
#31 Accepted 19ms 4.77 MiB
#32 Accepted 39ms 4.461 MiB
#33 Accepted 16ms 4.52 MiB
#34 Accepted 19ms 4.52 MiB
#35 Accepted 20ms 4.336 MiB
#36 Accepted 16ms 4.32 MiB
#37 Accepted 10ms 4.562 MiB
#38 Accepted 11ms 4.57 MiB
#39 Accepted 16ms 4.52 MiB
#40 Accepted 17ms 4.578 MiB
#41 Accepted 16ms 4.52 MiB
#42 Accepted 53ms 40.336 MiB
#43 Accepted 49ms 40.273 MiB
#44 Accepted 48ms 40.336 MiB
#45 Accepted 48ms 40.52 MiB
#46 Accepted 49ms 40.52 MiB
#47 Accepted 49ms 40.297 MiB
#48 Accepted 48ms 40.523 MiB
#49 Accepted 47ms 39.887 MiB
#50 Accepted 48ms 39.887 MiB

Code

#define _GLIBCXX_FILESYSTEM
#include<bits/stdc++.h>
using namespace std;
#define ll long long

void solve() {
    int n,m;
    cin >> n >> m;
    string s[n];
    for(int i = 0; i < n; i++){
        cin >> s[i];
    }
    int prf[n][m][26], suf[n][m][26];
    memset(prf,0,sizeof(prf));
    memset(suf,0,sizeof(suf));
    for(int i = 0; i < m; i++) {
        prf[0][i][s[0][i] - 'a']++;
        suf[n-1][i][s[n-1][i] - 'a']++;
    }
    for(int i = 1; i < n; i++) {
        for(int j = 0; j < m; j++) {
            for(int k = 0; k < 26; k++) {
                prf[i][j][k] = prf[i-1][j][k];
            }
            prf[i][j][s[i][j] - 'a']++;
        }
    }
    for(int i = n - 2; i >= 0; i--) {
        for(int j = 0; j < m; j++) {
            for(int k = 0; k < 26; k++) {
                suf[i][j][k] = suf[i+1][j][k];
            }
            suf[i][j][s[i][j] - 'a']++;
        }
    }
    // for(int i = 0; i < n; i++) {
    //     for(int j = 0; j < m; j++) {
    //         cout << prf[i][j][0] << ' ' << suf[i][j][0] << '\n';
    //     }
    // }
    int ans = 0;
    for(int i = 0; i < n; i++) {
        int now = 0;
        for(int j = 0; j < m; j++) {
            int mx = 0;
            for(int k = 0; k < 26; k++) {
                mx = max(mx,prf[i][j][k]);
            }
            now += mx;
        }
        if(i+1 < n) {
            for(int j = 0; j < m; j++) {
                int mx = 0;
                for(int k = 0; k < 26; k++) {
                    mx = max(mx,suf[i+1][j][k]);
                }
                now += mx;
            }
        }
        ans = max(ans, now);
    }
    cout << ans << '\n';
    return;
}

int32_t main() {
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    int tc = 1;
    cin >> tc;
    for(int kase = 1; kase <= tc; kase++) {
        //cout << "Case " << kase << ": ";
        solve();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1164 Simple character matching game
Contest
Brain Booster #8
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 15:15:36
Judged At
2025-02-17 15:15:36
Judged By
Score
100
Total Time
53ms
Peak Memory
40.523 MiB