# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1118659 | vjudge1 | Ljetopica (COI19_ljetopica) | C++17 | 88 ms | 32252 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define LL long long
#define fr(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
using namespace std;
const int N=1e3+5,mod=1e9+7;
int n,m,f[N][N][2][2],g[N][N][2][2],L[N],R[N],pw[N],dis[N];
string A,B,C;
inline int md(int x){return x>=mod?x-mod:x;}
inline int sol(int *R)
{
if(!R[0]) return 0;
memset(f,0,sizeof(f));memset(g,0,sizeof(g));
f[0][0][0][1]=g[0][0][0][1]=f[0][0][1][1]=g[0][0][1][1]=1;
for(int i=1;i<n;i++) for(int j=0;j<=m;j++)
for(int o=0;o<2;o++) for(int p=0;p<2;p++) for(int w=0;w<2;w++)
{
int F=f[i-1][j][o][p],G=g[i-1][j][o][p];
int J=j+w,O=o^w,nw=dis[i]^O;
if(p&&nw>R[i]) continue;int P=p&(nw==R[i]);
f[i][J][O][P]=md(f[i][J][O][P]+F);
g[i][J][O][P]=(g[i][J][O][P]+2ll*G+nw*F)%mod;
}
int ans=0;
for(int o=0;o<2;o++) for(int p=0;p<2;p++) ans=md(ans+g[n-1][m][o][p]);
return ans;
}
int main()
{
// fr(maze)
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m>>C;
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |