# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
58954 | TadijaSebez | Snake Escaping (JOI18_snake_escaping) | C++11 | 1595 ms | 66560 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 <stdio.h>
const int N=1<<20;
int dp0[N],dp1[N],pc[N];
char s[N],t[20];
int min(int a, int b){ return a>b?b:a;}
int abs(int x){ return x>0?x:-x;}
int main()
{
int n,q,i,mask;
for(i=1;i<N;i++) pc[i]=pc[i-(i&-i)]+1;
scanf("%i %i",&n,&q);
scanf("%s",s);
for(i=0;i<(1<<n);i++)
{
dp1[i]=dp0[i]=s[i]-'0';
}
for(i=0;i<n;i++)
{
for(mask=0;mask<(1<<n);mask++)
{
if((mask>>i)&1) dp0[mask^(1<<i)]+=dp0[mask];
else dp1[mask^(1<<i)]+=dp1[mask];
}
}
while(q--)
{
scanf("%s",t);
int a=0,b=0,c=0;
for(i=0;i<n;i++)
{
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |