Submission #223213

# Submission time Handle Problem Language Result Execution time Memory
223213 2020-04-15T05:22:45 Z errorgorn Trener (COCI20_trener) C++14
22 / 110
25 ms 384 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ii pair<ll,ll>
#define iii pair<ll,ii>
#define endl '\n'

const int MOD=1000000007;

int n,k;

map<string,ll> m[2];

int main(){
	ios::sync_with_stdio(0);
    cin.tie(0);
	
	cin>>n>>k;
	
	m[0][""]=1;
	
	int a=0,b=1;
	for (int x=0;x<n;x++){
		for (int y=0;y<k;y++){
			string s,t;
			ll res=0;
			cin>>s;
			t=s;
			t.pop_back();
			if (m[a].count(t)) res+=m[a][t];
			for (int x=1;x<s.size();x++){
				if (t[x-1]!=s[x]){
					t[x-1]=s[x];
					if (m[a].count(t)) res+=m[a][t];
					res%=MOD;
				}
			}
			m[b][s]+=res;
			m[b][s]%=MOD;
			//cout<<s<<" "<<res<<endl;
		}
		swap(a,b);
		m[b].clear();
	}
	
	ll ans=0;
	for (auto &it:m[a]){
		ans+=it.second;
	}
	
	cout<<ans%MOD<<endl;
}

Compilation message

trener.cpp: In function 'int main()':
trener.cpp:31:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int x=1;x<s.size();x++){
                 ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Incorrect 25 ms 256 KB Output isn't correct
6 Halted 0 ms 0 KB -