Submission #1266974

#TimeUsernameProblemLanguageResultExecution timeMemory
1266974nendhxTrener (COCI20_trener)C++20
0 / 110
20 ms580 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int n, k, sum = 0;
    cin >> n >> k;
    string s[n][k];
    for(int i = 0; i < n; i++){
        for(int j = 0; j < k; j++){
            cin >> s[i][j];
            for(int l = j - 1; l >= 0; l--){
                if(s[i][j] == s[i][l]){
                    s[i][j] = "0";
                }
            }
        }
    }
    vector<vector<int>> dp(n, vector<int>(k));
    for(int i = 0; i < k; i++){
        dp[0][i] = 1;
    }
    for(int i = 1; i < n; i++){
        for(int j = 0; j < k; j++){
            if(s[i][j] == "0"){
                continue;
            }
            for(int l = 0; l < k; l++){
                if(s[i - 1][l] == "0"){
                    continue;
                }
                if(s[i][j].substr(0, i) == s[i - 1][l] || s[i][j].substr(1, i) == s[i - 1][l]){
                    dp[i][j] += dp[i - 1][l];
                }
            }
        }
    }
    for(int i = 0; i < k; i++){
        sum += dp[n - 1][i];
    }
    cout << sum << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...