# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
223294 | 2020-04-15T06:55:38 Z | dantoh000 | Trener (COCI20_trener) | C++14 | 21 ms | 4224 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 1000000007; int n,k; map<string,int> ct[55]; string a[55][1505]; int main(){ scanf("%d%d",&n,&k); for (int i = 1; i <= n; i++){ for (int j = 1; j <= k; j++){ cin >> a[i][j]; } } ll ans = 0; ct[0][""]++; for (int i = 1; i <= n; i++){ for (int j = 1; j <= k; j++){ string X = a[i][j].substr(1); string Y = a[i][j].substr(0,a[i][j].size()-1); //cout << a[i][j] << " " << X << " " << Y; int res = ct[i-1][X]; if (X != Y) res += ct[i-1][Y]; //printf("%d %d\n",ct[X],ct[Y]); ct[i][a[i][j]] += res; ct[i][a[i][j]] %= mod; if (i == n) ans += res; } } printf("%lld",ans%mod); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 2944 KB | Output is correct |
2 | Correct | 6 ms | 2944 KB | Output is correct |
3 | Correct | 6 ms | 2944 KB | Output is correct |
4 | Correct | 6 ms | 2944 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 20 ms | 4224 KB | Output is correct |
2 | Correct | 19 ms | 4224 KB | Output is correct |
3 | Correct | 21 ms | 4216 KB | Output is correct |
4 | Correct | 14 ms | 3072 KB | Output is correct |
5 | Incorrect | 19 ms | 3840 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 2944 KB | Output is correct |
2 | Correct | 6 ms | 2944 KB | Output is correct |
3 | Correct | 6 ms | 2944 KB | Output is correct |
4 | Correct | 6 ms | 2944 KB | Output is correct |
5 | Correct | 20 ms | 4224 KB | Output is correct |
6 | Correct | 19 ms | 4224 KB | Output is correct |
7 | Correct | 21 ms | 4216 KB | Output is correct |
8 | Correct | 14 ms | 3072 KB | Output is correct |
9 | Incorrect | 19 ms | 3840 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |