Submission

Status:
----------

Score: 0

User: Jibhong

Problemset: ทางเชื่อม

Language: cpp

Time: 0.382 second

Submitted On: 2025-03-31 21:06:53

#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    int q;
    cin>>q;
    while(q--){
        int n;
        cin>>n;
        bool mem[n+2];
        memset(mem,0,sizeof(mem));
        bool iszero=0;
        for(int i=1;i<=n;++i){
            char inp;
            cin>>inp;
            if(inp=='#')mem[i]=1;
        }
        for(int i=1;i<=n;++i){
            char inp;
            cin>>inp;
            if(mem[i]&&inp=='#'){
                iszero=1;
            }
            if(inp=='#')mem[i]=1;
//             cout<<mem[i];
        }
        if(iszero){
            cout<<0<<'\n';
            continue;
        }
        mem[0]=mem[1];
        mem[n+1]=mem[n];
        int out=1;
        for(int i=0;i<=n;++i){
            if(mem[i]==mem[i+1]&&mem[i]==0)out*=2;
            if(mem[i]==mem[i+1]&&mem[i]==1){
               out=0;
               break;
            }
        }
//         for(int i=0;i<=n;++i)cout<<mem[i];
        cout<<out<<'\n';
    }
    return 0;
}