#include<bits/stdc++.h>
#define int long long
using namespace std;
int mod = 1e9 + 7;
signed main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, k, sum = 0;
cin >> n >> k;
string s[n][k];
vector<vector<int>> dp(n, vector<int>(k));
for(int i = 0; i < k; i++){
dp[0][i] = 1;
}
for(int i = 0; i < n; i++){
for(int j = 0; j < k; j++){
cin >> s[i][j];
if(i == 0){
continue;
}
string a = s[i][j].substr(0, i), b = s[i][j].substr(1, i);
for(int l = 0; l < k; l++){
if(a == s[i - 1][l] || b == s[i - 1][l]){
dp[i][j] = (dp[i][j] + dp[i - 1][l]) % mod;
}
}
}
}
for(int i = 0; i < k; i++){
sum = (sum + dp[n - 1][i]) % mod;
}
cout << sum << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |