| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1329454 | MuhammadSaram | Trener (COCI20_trener) | C++20 | 5 ms | 836 KiB |
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int main()
{
int n,k;
cin>>n>>k;
map<string,int> dp[n];
for (int i=0;i<n;i++)
{
string s;
for (int j=0;j<k;j++)
{
cin>>s;
if (!i) dp[i][s]++;
else
{
int x=0;
string t=s.substr(0,i), t1=s.substr(1,i);
if (dp[i-1].find(t)!=dp[i-1].end()) x=dp[i-1][t];
if (t1!=t && dp[i-1].find(t1)!=dp[i-1].end()) x+=dp[i-1][t1];
if (x) dp[i][s]=x%mod;
}
}
}
int ans=0;
for (auto [s,i]:dp[n-1])
ans=(ans+i)%mod;
cout<<ans<<endl;
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... | ||||
