QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#644715#9463. 基础 ABC 练习题xlwang40 2432ms4072kbC++149.1kb2024-10-16 15:12:552024-10-16 15:12:55

Judging History

你现在查看的是最新测评结果

  • [2024-10-16 15:12:55]
  • 评测
  • 测评结果:40
  • 用时:2432ms
  • 内存:4072kb
  • [2024-10-16 15:12:55]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
#define fr(i,j,k) for(register int i=j;i<=k;++i)
#define rf(i,j,k) for(register int i=j;i>=k;--i)
#define foredge(i,j) for(register int i=head[j];i;i=e[i].nxt)
#define pb push_back
#define Times printf("Time:%.3lf\n",clock()/CLOCKS_PER_SEC)
#define pii pair<int,int>
#define mk make_pair
using namespace std;
inline int read(){
	int x=0;
	bool f=0;
	char c=getchar();
	while(!isdigit(c)) f|=(c=='-'),c=getchar();
	while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=getchar();
	return f?-x:x;
}
inline void write(int x){
    if(x<0){putchar('-');x=-x;}
    if(x>9)write(x/10);
    putchar(x%10+'0');
}
inline void writeln(int x){write(x); puts("");}
inline void writepl(int x){write(x); putchar(' ');}
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
inline int randfind(int l,int r){return rnd()%(r-l+1)+l;}
const int Maxn=65,Maxm=Maxn*3,mod=998244353;
inline void add(int &x,int y){x+=y;if(x>=mod) x-=mod;}
inline int ksm(int x,int y=mod-2){
    int sum=1;
    while(y){
        if(y&1) sum=1ll*sum*x%mod;
        y=y/2;x=1ll*x*x%mod;
    }return sum;
}
int f[Maxn][Maxn][2][2],g[Maxn][Maxn][2][2];
int n;
char c[Maxm];
char fA[Maxn],fB[Maxn];
bool vis[Maxn][Maxn];
pii vc[Maxn*Maxn],vc1[Maxn*Maxn];
inline void work(){
    n=read();
    scanf("%s%s",fA,fB);
    scanf("%s",c+1);
    int ans=0;
    int num=0;
    if(n<60){writeln(-1);return;}
    fr(lstA,0,n) fr(lstB,0,n){
        int x=-1,y=-1;
        fr(i,lstA,n) if(fA[i]=='1') {x=i;break;}
        fr(i,lstB,n) if(fB[i]=='1') {y=i;break;}
        if(x==-1 || y==-1 || x+y>n) continue;
        int z=n-x-y;x=lstA;y=lstB;
        // cout<<x<<' '<<y<<' '<<z<<endl;
        f[0][0][x==0][y==0]=1;
        int ln1,ln2;ln1=ln2=0;
        ln1=1;vc[1]=mk(0,0);
        fr(i,0,3*n-1){
            // cout<<i<<endl;
            // memcpy(g,f,sizeof(f));memset(f,0,sizeof(f));
            fr(ii,1,ln1){
                int A,B,tp1,tp2;
                A=vc[ii].first;B=vc[ii].second;
                tp1=0;tp2=0;
                // cout<<i<<' '<<A<<' '<<B<<' '<<tp1<<' '<<tp2<<endl;
                g[A][B][tp1][tp2]=f[A][B][tp1][tp2];
                f[A][B][tp1][tp2]=0;
                tp1=0;tp2=1;
                // cout<<i<<' '<<A<<' '<<B<<' '<<tp1<<' '<<tp2<<endl;
                g[A][B][tp1][tp2]=f[A][B][tp1][tp2];
                f[A][B][tp1][tp2]=0;
                tp1=1;tp2=0;
                // cout<<i<<' '<<A<<' '<<B<<' '<<tp1<<' '<<tp2<<endl;
                g[A][B][tp1][tp2]=f[A][B][tp1][tp2];
                f[A][B][tp1][tp2]=0;
                tp1=1;tp2=1;
                // cout<<i<<' '<<A<<' '<<B<<' '<<tp1<<' '<<tp2<<endl;
                g[A][B][tp1][tp2]=f[A][B][tp1][tp2];
                f[A][B][tp1][tp2]=0;
            }
            fr(ii,1,ln1){
                int A,B;
                A=vc[ii].first;B=vc[ii].second;
                vis[A][B]=0;
            }
            fr(ii,1,ln1){
                int A,B,tp1,tp2;
                A=vc[ii].first;B=vc[ii].second;
                int C,v;
                tp1=tp2=0;
                C=i-A-B,v=g[A][B][tp1][tp2];
                // cout<<"*****"<<i<<' '<<f[2][2][1][1]<<endl;
                // cout<<i<<' '<<A<<' '<<B<<' '<<C<<' '<<tp1<<' '<<tp2<<' '<<v<<endl;
                if(c[i+1]=='A' || c[i+1]=='?'){
                    if(A+1-C<=x && A+1<=n){
                        // cout<<"**A"<<' '<<(A+1-C==x)<<' '<<tp1<<endl;
                        if(!vis[A+1][B]){
                            vis[A+1][B]=1;
                            vc1[++ln2]=mk(A+1,B);
                        }
                        add(f[A+1][B][tp1|(A+1-C==x)][tp2],v);
                    }
                }
                if(c[i+1]=='B' || c[i+1]=='?'){
                    // cout<<"*"<<B+1-A<<' '<<y<<endl;
                    if(B+1-A<=y && B+1<=n){
                        // cout<<"**B"<<endl;
                        // cout<<"**"<<A<<' '<<B+1<<' '<<tp1<<' '<<(tp2|(B+1-A==y))<<' '<<v<<endl;
                        if(!vis[A][B+1]){
                            vis[A][B+1]=1;
                            vc1[++ln2]=mk(A,B+1);
                        }
                        add(f[A][B+1][tp1][tp2|(B+1-A==y)],v);
                    }
                }
                if(c[i+1]=='C' || c[i+1]=='?'){
                    if(C+1-B<=z && C+1<=n){
                        // cout<<"**C"<<endl;
                        if(!vis[A][B]){
                            vis[A][B]=1;
                            vc1[++ln2]=mk(A,B);
                        }
                        add(f[A][B][tp1][tp2],v);
                    }
                }
                tp1=tp2=1;
                if(g[A][B][tp1][tp2]){
                    C=i-A-B,v=g[A][B][tp1][tp2];
                    // cout<<"*****"<<i<<' '<<f[2][2][1][1]<<endl;
                    // cout<<i<<' '<<A<<' '<<B<<' '<<C<<' '<<tp1<<' '<<tp2<<' '<<v<<endl;
                    if(c[i+1]=='A' || c[i+1]=='?'){
                        if(A+1-C<=x && A+1<=n){
                            // cout<<"**A"<<' '<<(A+1-C==x)<<' '<<tp1<<endl;
                            add(f[A+1][B][tp1|(A+1-C==x)][tp2],v);
                        }
                    }
                    if(c[i+1]=='B' || c[i+1]=='?'){
                        // cout<<"*"<<B+1-A<<' '<<y<<endl;
                        if(B+1-A<=y && B+1<=n){
                            // cout<<"**B"<<endl;
                            // cout<<"**"<<A<<' '<<B+1<<' '<<tp1<<' '<<(tp2|(B+1-A==y))<<' '<<v<<endl;
                            add(f[A][B+1][tp1][tp2|(B+1-A==y)],v);
                        }
                    }
                    if(c[i+1]=='C' || c[i+1]=='?'){
                        if(C+1-B<=z && C+1<=n){
                            // cout<<"**C"<<endl;
                            add(f[A][B][tp1][tp2],v);
                        }
                    }
                }tp1=0;tp2=1;
                if(g[A][B][tp1][tp2]){
                    C=i-A-B,v=g[A][B][tp1][tp2];
                    // cout<<"*****"<<i<<' '<<f[2][2][1][1]<<endl;
                    // cout<<i<<' '<<A<<' '<<B<<' '<<C<<' '<<tp1<<' '<<tp2<<' '<<v<<endl;
                    if(c[i+1]=='A' || c[i+1]=='?'){
                        if(A+1-C<=x && A+1<=n){
                            // cout<<"**A"<<' '<<(A+1-C==x)<<' '<<tp1<<endl;
                            add(f[A+1][B][tp1|(A+1-C==x)][tp2],v);
                        }
                    }
                    if(c[i+1]=='B' || c[i+1]=='?'){
                        // cout<<"*"<<B+1-A<<' '<<y<<endl;
                        if(B+1-A<=y && B+1<=n){
                            // cout<<"**B"<<endl;
                            // cout<<"**"<<A<<' '<<B+1<<' '<<tp1<<' '<<(tp2|(B+1-A==y))<<' '<<v<<endl;
                            add(f[A][B+1][tp1][tp2|(B+1-A==y)],v);
                        }
                    }
                    if(c[i+1]=='C' || c[i+1]=='?'){
                        if(C+1-B<=z && C+1<=n){
                            // cout<<"**C"<<endl;
                            add(f[A][B][tp1][tp2],v);
                        }
                    }
                }tp1=1;tp2=0;
                if(g[A][B][tp1][tp2]){
                    C=i-A-B,v=g[A][B][tp1][tp2];
                    // cout<<"*****"<<i<<' '<<f[2][2][1][1]<<endl;
                    // cout<<i<<' '<<A<<' '<<B<<' '<<C<<' '<<tp1<<' '<<tp2<<' '<<v<<endl;
                    if(c[i+1]=='A' || c[i+1]=='?'){
                        if(A+1-C<=x && A+1<=n){
                            // cout<<"**A"<<' '<<(A+1-C==x)<<' '<<tp1<<endl;
                            add(f[A+1][B][tp1|(A+1-C==x)][tp2],v);
                        }
                    }
                    if(c[i+1]=='B' || c[i+1]=='?'){
                        // cout<<"*"<<B+1-A<<' '<<y<<endl;
                        if(B+1-A<=y && B+1<=n){
                            // cout<<"**B"<<endl;
                            // cout<<"**"<<A<<' '<<B+1<<' '<<tp1<<' '<<(tp2|(B+1-A==y))<<' '<<v<<endl;
                            add(f[A][B+1][tp1][tp2|(B+1-A==y)],v);
                        }
                    }
                    if(c[i+1]=='C' || c[i+1]=='?'){
                        if(C+1-B<=z && C+1<=n){
                            // cout<<"**C"<<endl;
                            add(f[A][B][tp1][tp2],v);
                        }
                    }
                }
            }
            fr(ii,1,ln2) vc[ii]=vc1[ii];ln1=ln2;ln2=0;
        }
        fr(i,1,ln1){
            int A,B;
            A=vc[i].first;B=vc[i].second;
            vis[A][B]=0;
        }
        // cout<<f[n][n][1][1]<<endl;
        add(ans,f[n][n][1][1]);
        fr(tp1,0,1) fr(tp2,0,1) f[n][n][tp1][tp2]=0;
    }writeln(ans);
    // cerr<<num<<endl;
}
inline void init(){
	int t=read();int tp=read();
	while(t--){
        // cerr<<t<<endl;
        work();
    }
}
signed main(){
    // return system("fc a.out out.out");
	// freopen("a.in","r",stdin);
	// freopen("a.out","w",stdout);
    init();
    // cerr<<(double)clock()/CLOCKS_PER_SEC<<endl;
    // printf("\nTIME:%.3lf",(double)clock()/CLOCKS_PER_SEC);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 20
Accepted

Test #1:

score: 20
Accepted
time: 3ms
memory: 3732kb

input:

60 1
1
11
11
ABC
2
111
111
CABABC
3
1111
1111
CAABBCBAC
4
11111
11111
BACBBACBACAC
5
111111
111111
CABCCBBAABCCBAA
6
1111111
1111111
ABABABCACBCBCCACBA
7
11111111
11111111
BCAABACBBCBBABCCAACAC
8
111111111
111111111
CCBCBBBCAABCBCAAAAACBCBA
9
1111111111
1111111111
CCCCACABCBABAABCCAABABBCBBA
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #2:

score: 20
Accepted
time: 3ms
memory: 3916kb

input:

60 1
1
11
11
CBA
2
111
111
BACACB
3
1111
1111
BCBCACABA
4
11111
11111
CCBACABBBCAA
5
111111
111111
BCACBBABBCCAACA
6
1111111
1111111
BBCBACCAACBCBCAABA
7
11111111
11111111
ACBCCBBAABAABCACCACBB
8
111111111
111111111
BAACACBACCCBAACCBABABBCB
9
1111111111
1111111111
BABCBCAAAAABBCCCACBCBBABACC
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #3:

score: 20
Accepted
time: 3ms
memory: 3940kb

input:

60 1
1
11
11
BCA
2
111
111
BCABCA
3
1111
1111
CBACCAABB
4
11111
11111
BACBCBBCCAAA
5
111111
111111
BCCCBABACCBABAA
6
1111111
1111111
ACAACBABABBCACBCCB
7
11111111
11111111
BBBCABCCCAABCACBACAAB
8
111111111
111111111
ACCACAABACBAABBCBCBBACBC
9
1111111111
1111111111
BCCBACBBACCCBCCAABAACABAABB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #4:

score: 20
Accepted
time: 3ms
memory: 3936kb

input:

60 1
1
11
11
BCA
2
111
111
ACABCB
3
1111
1111
BABCABCCA
4
11111
11111
CCABACABBACB
5
111111
111111
ABBBCBBCACCAACA
6
1111111
1111111
CACBABCABCCBABAACB
7
11111111
11111111
BACBCABACBBCCCBAAACAB
8
111111111
111111111
CABABBCAACABCBACBABACBCC
9
1111111111
1111111111
BCBAACBABABCBACBABABCCACACC
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #5:

score: 20
Accepted
time: 1ms
memory: 3956kb

input:

60 1
1
11
11
ABC
2
111
111
BBCACA
3
1111
1111
ACBBCBAAC
4
11111
11111
ABACACCCABBB
5
111111
111111
ACCCCCAAABABBBB
6
1111111
1111111
ABAABBBBCCCCCCAABA
7
11111111
11111111
ACBBBACCCCCCAABABBBAA
8
111111111
111111111
CAAABAAACCCCBBCBBBCACBAB
9
1111111111
1111111111
ABAAACBBCCCCCCCBAAABAACBBBB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0

result:

ok Accepted!!!

Test #6:

score: 20
Accepted
time: 1ms
memory: 3972kb

input:

60 1
1
11
11
BCA
2
111
111
ACCBAB
3
1111
1111
BACCACBBA
4
11111
11111
AAABBCBCBACC
5
111111
111111
AABBBBCCBCCAACA
6
1111111
1111111
AAACCBCCCAABACBBBB
7
11111111
11111111
AAACACCACBBAABBCBCCBB
8
111111111
111111111
AAACAAABBBBBBBCBACCCACCC
9
1111111111
1111111111
BBCCACCCACCACCBAABBAAAABBBB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #7:

score: 20
Accepted
time: 1ms
memory: 3912kb

input:

60 1
1
11
11
BCA
2
111
111
ACCABB
3
1111
1111
CAABBBCAC
4
11111
11111
BBCCBCCABAAA
5
111111
111111
BAABBBCCCCCAABA
6
1111111
1111111
AACACCCCBABBBCAABB
7
11111111
11111111
AACBBCBBBCCCCCAAABBAA
8
111111111
111111111
AAAABBCBBBBCBBCCCCCCAAAA
9
1111111111
1111111111
ABBBBBBBBCCBCAACCACAACCAAAC
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #8:

score: 20
Accepted
time: 1ms
memory: 3956kb

input:

60 1
1
11
11
ABC
2
111
111
AABCBC
3
1111
1111
ABAACBBCC
4
11111
11111
AABCCBBBCACA
5
111111
111111
AAACCABBBACBCCB
6
1111111
1111111
AABBBBBBCCACAACACC
7
11111111
11111111
AAAABBBBBBCCACCCCCBAA
8
111111111
111111111
ACCBABBABBBBBCCCACCCAAAA
9
1111111111
1111111111
BAAAABCCCCCCCBBAABAACABCBBB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0

result:

ok Accepted!!!

Test #9:

score: 20
Accepted
time: 1ms
memory: 4000kb

input:

60 1
1
11
11
CAB
2
111
111
CCAABB
3
1111
1111
ACCCABBAB
4
11111
11111
AAABBBBCCACC
5
111111
111111
BCACCCCBAAAABBB
6
1111111
1111111
CAAACABABACCCBCBBB
7
11111111
11111111
ACAAACBCCCCBCAABBABBB
8
111111111
111111111
ACCAACACCCCCABABAABBBBBB
9
1111111111
1111111111
AACAAAAAACBCCBCBACBBBBBBCCC
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #10:

score: 20
Accepted
time: 1ms
memory: 3776kb

input:

60 1
1
11
11
BCA
2
111
111
ACACBB
3
1111
1111
AABCCCABB
4
11111
11111
CBCCCABABABA
5
111111
111111
ACACCCAABBCBABB
6
1111111
1111111
BACAAAACCBABCBCBCB
7
11111111
11111111
AAAAABBBBCCBBCCCCACAB
8
111111111
111111111
AACCCCCCABAAACAABCBBBBBB
9
1111111111
1111111111
AABAAAABCCCCABCCCABBCCABBBB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #11:

score: 20
Accepted
time: 1ms
memory: 3848kb

input:

60 1
1
11
11
BCA
2
111
111
CBBCAA
3
1111
1111
AABABCCCB
4
11111
11111
BABCBBCAAACC
5
111111
111111
AAACBBBBBCAACCC
6
1111111
1111111
BBBBBCCCCCCAABAAAA
7
11111111
11111111
BAAAABAACCCABBCCBBBCC
8
111111111
111111111
ABABBBBBCBCCCACCCCAAABAA
9
1111111111
1111111111
AAAABBAABCABACCCACCCBBCBCBB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Subtask #2:

score: 20
Accepted

Dependency #1:

100%
Accepted

Test #12:

score: 20
Accepted
time: 3ms
memory: 3908kb

input:

60 2
1
01
11
ABC
2
101
001
ACBABC
3
0011
1000
AAACBBCBC
4
11100
00100
BACABCABACBC
5
001101
110010
ACBABCCABBCCAAB
6
0101010
1000011
CABBAAACACBBCCABCB
7
10010111
10100111
CABAAACBBAACBCACBBBCC
8
100101000
100000110
BACBCACBBAABCCCABCBAACBA
9
1100010100
0111110011
CAABCBBABCACBCACABCABAACBBC
10
0001...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #13:

score: 20
Accepted
time: 2ms
memory: 3772kb

input:

60 2
1
01
01
CAB
2
011
101
ABCCBA
3
1111
0000
CBBAACCBA
4
00011
10011
BCCBCCABABAA
5
011111
111011
ACBBABCBCCAACBA
6
1011101
1101000
CBABBCACBAABABCACC
7
00001111
11010100
BCACAABCBBBCCABABCACA
8
110110100
010010100
ABAABCABCABAACCCCBBBBCCA
9
0000111111
1011100011
BAAABBCCABBBBCABACBACACCACC
10
0011...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #14:

score: 20
Accepted
time: 0ms
memory: 3852kb

input:

60 2
1
01
00
ABC
2
111
000
CAABBC
3
0101
0011
CAACBCBAB
4
11011
01001
CABBCAACBBCA
5
000010
010100
BCCCACAAACBBBBA
6
0011011
0011000
BCACCBAAAAABCBCBBC
7
11000001
11111111
AACBCABACCBBCABCCBAAB
8
111010100
111101010
CBABCACBABAACBABCCCBCAAB
9
1001111111
1011000111
CAABCACCABBBABBCACCABBCAACB
10
0011...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #15:

score: 20
Accepted
time: 2ms
memory: 3912kb

input:

60 2
1
00
10
BCA
2
110
000
BCAABC
3
0111
1001
CACAABBBC
4
10101
00000
ACCBCAABBACB
5
010001
100001
BBCBBAACCBACACA
6
0100101
0100010
CCAAAABCCAABBCBBBC
7
10010000
10010011
BCBCACBCBAAAABCABBCCA
8
001101111
110010111
CABACABCACBBABCBCABACABC
9
1000111100
1011101001
ACBCABABBCCBABCCAAACBBBACAC
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #16:

score: 20
Accepted
time: 1ms
memory: 3932kb

input:

60 2
1
10
11
CAB
2
110
100
AABBCC
3
0100
0110
CAABCBABC
4
01010
01000
BCBCABACBCAA
5
001110
100000
AAABBCCCABCBABC
6
1000000
1101100
ACCBACBCAABCAABBCB
7
11011110
01000000
AAAAABABBBCBBBACCCCCC
8
101000000
010000000
ACBABBCCCCCCCABAAABAABBB
9
1000000000
1000000000
CCCCCCCCCAABAAABABBBABBAABB
10
0111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #17:

score: 20
Accepted
time: 1ms
memory: 3768kb

input:

60 2
1
01
10
ABC
2
100
100
BCABCA
3
1000
1100
CABACCBAB
4
11001
10000
AABCBACABBCC
5
110000
101110
BACBCAABCABCBCA
6
1110000
1111100
AABBBBCABCCCCABAAC
7
10110000
11100000
AAACCABBCAABCBBABBCCC
8
001111100
011000000
ABAACAAAACABCBCBBBBBCCCC
9
0110000000
1111000000
AACBBACBBBCBCABACACBCAABCCA
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0

result:

ok Accepted!!!

Test #18:

score: 20
Accepted
time: 0ms
memory: 4072kb

input:

60 2
1
10
11
ABC
2
100
100
CABCAB
3
1000
1000
CCABCABAB
4
11100
10000
ACACBABCABCB
5
111101
100000
AABCABCBACABBCC
6
1000000
0100000
BCACCCCCABAAABBBBA
7
10101110
11000000
AAABBCBBCACCCABBAACBC
8
111110000
001100000
ACBBCBBCABACCACBBABAACCA
9
1110000000
1111110000
CAAACBCCBBAAABCCBACABACCBBB
10
1100...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #19:

score: 20
Accepted
time: 0ms
memory: 3912kb

input:

60 2
1
11
10
ABC
2
100
110
BCABCA
3
1000
1111
BBCBACCAA
4
10000
10011
BCABCABCABCA
5
011111
100000
AABCBCABACABCBC
6
1110000
1000000
CAAACCCBBBCAACABBB
7
10000000
01000000
ABBCACCCABBACABACBBAC
8
110100011
100000000
AABBCABCCAABBCABCABCABCC
9
1111011100
1100000000
AAACABBBBBCACABCCBABCACBCCA
10
0111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Test #20:

score: 20
Accepted
time: 1ms
memory: 3900kb

input:

60 2
1
10
10
CAB
2
110
100
ABCACB
3
1000
1000
CABCABCAB
4
10111
10000
CABCABCABCAB
5
100000
110000
BCCAABCBCABACAB
6
1000000
1111000
CCCABACAABBCABCABB
7
10000000
11000110
BBCBBBCCACCCBABAAACAA
8
110000000
100000000
AACBCABCABBACCABCBCAABBC
9
1000000000
1100000000
BBCCACACCCBBACBCCABABAAAABB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0

result:

ok Accepted!!!

Test #21:

score: 20
Accepted
time: 0ms
memory: 3916kb

input:

60 2
1
10
10
CAB
2
110
100
CABCAB
3
0111
1000
CABCABCAB
4
11010
11000
AAABBBCBACCC
5
110000
100000
ACBACABCBABCABC
6
1111000
1111000
AAABBBBBCACCCAABCC
7
11011100
01000000
AAAAACCBCBCBBBCACACBB
8
111000000
111010000
AAABBBBBCCCCCCCABACABABA
9
1011100010
1000000000
AAABAABAABBABBCCCCBCCCCBACB
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1

result:

ok Accepted!!!

Subtask #3:

score: 0
Wrong Answer

Test #22:

score: 0
Wrong Answer
time: 2432ms
memory: 3944kb

input:

60 3
1
11
11
???
2
111
111
??????
3
1111
1111
?????????
4
11111
11111
????????????
5
111111
111111
???????????????
6
1111111
1111111
??????????????????
7
11111111
11111111
?????????????????????
8
111111111
111111111
????????????????????????
9
1111111111
1111111111
???????????????????????????
10
1111...

output:

-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
612529784

result:

wrong answer Your answer is wrong in testcase 60

Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #3:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

0%