Submission #223290

# Submission time Handle Problem Language Result Execution time Memory
223290 2020-04-15T06:53:05 Z dantoh000 Trener (COCI20_trener) C++14
22 / 110
16 ms 3200 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1000000007;
int n,k;
unordered_map<string,int> ct[2];
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[1-i&1][X];
            if (X != Y) res += ct[1-i&1][Y];
            //printf("%d %d\n",ct[X],ct[Y]);
            ct[i&1][a[i][j]] += res;
            ct[i&1][a[i][j]] %= mod;
            if (i == n) ans += res;
        }
        ct[1-i&1].clear();
    }
    printf("%d",ans%mod);
}

Compilation message

trener.cpp: In function 'int main()':
trener.cpp:22:27: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
             int res = ct[1-i&1][X];
                          ~^~
trener.cpp:23:36: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
             if (X != Y) res += ct[1-i&1][Y];
                                   ~^~
trener.cpp:29:13: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
         ct[1-i&1].clear();
            ~^~
trener.cpp:31:24: warning: format '%d' expects argument of type 'int', but argument 2 has type 'll {aka long long int}' [-Wformat=]
     printf("%d",ans%mod);
                 ~~~~~~~^
trener.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&k);
     ~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory 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
# Verdict Execution time Memory Grader output
1 Correct 16 ms 3200 KB Output is correct
2 Correct 16 ms 3200 KB Output is correct
3 Correct 16 ms 3200 KB Output is correct
4 Correct 14 ms 3072 KB Output is correct
5 Incorrect 15 ms 3200 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 16 ms 3200 KB Output is correct
6 Correct 16 ms 3200 KB Output is correct
7 Correct 16 ms 3200 KB Output is correct
8 Correct 14 ms 3072 KB Output is correct
9 Incorrect 15 ms 3200 KB Output isn't correct
10 Halted 0 ms 0 KB -