Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: Banana777

Problemset: ทางเชื่อม

Language: cpp

Time: 0.897 second

Submitted On: 2026-03-01 20:34:41

#include<bits/stdc++.h>
using namespace std;

const long long MOD=1e9+7;

int main(){
    int m;
    cin>>m;
    
    for(int i =0;i<m;i++){
        
        int a;
        cin>>a;
        vector<vector<char>> mp(2,vector<char> (a));
        vector<vector<int>> val(2,vector<int> (a));

        for(int m =0;m<2;m++){
            for(int j =0;j<a;j++){
                cin>>mp[m][j];
            }
        }

        if((mp[0][0]=='.')&&(mp[1][0]=='.')){
            val[0][0]=2;
            val[1][0]=2;
        }
        if((mp[1][0]=='.')&&(mp[0][0]=='#')){
            val[1][0]=1;
            val[0][0]=0;
        }
        if((mp[0][0]=='.')&&(mp[1][0]=='#')){
            val[0][0]=1;
            val[1][0]=0;
        }
        

        for(int j=1;j<a;j++){
            if((mp[0][j]=='#')&&(mp[1][j]=='#')){
                val[0][j]=0;
                val[1][j]=0;
            }else if((mp[0][j]=='.')&&(mp[1][j]=='.')){
                val[0][j]=val[0][j-1]+val[1][j-1];
                val[1][j]=val[0][j-1]+val[1][j-1];
            }else if((mp[0][j]=='.')&&(mp[1][j]=='#')){
                val[1][j]=0;
                val[0][j]=val[0][j-1];
            }else if((mp[1][j]=='.')&&(mp[0][j]=='#')){
                val[1][j]=val[1][j-1];
                val[0][j]=0;
            }
            //emoji:skull
        }  
        
        
        int ans=0;
        for(int m = 0;m<2;m++){
            ans+=val[m][a-1];
        }
        cout<<ans<<"\n";

    }











}