Submission

Status:

PP--------

Subtask/Task Score:

20/100

Score: 20

User: sorrkub

Problemset: ทางเชื่อม

Language: cpp

Time: 0.336 second

Submitted On: 2026-03-06 18:27:35

#include<bits/stdc++.h>
using namespace std;
typedef long long ll; typedef pair<long long ,long long> pll; typedef pair<long long, pair<long long , long long >> plpll;
const int inf = 1e9+7;
int dx[8] = {0,0,-1,1,-1,1,-1,1} , dy[8] = {1,-1,0,0,1,-1,1,-1};
#define F first
#define S second
#define FAST_IO ios_base::sync_with_stdio(false); cin.tie(NULL);

void solve(){
    int n;
    cin>>n;
    vector<vector<char>> vec(2 , vector<char> (n,'0'));
    for(int i=0;i<n;i++){
        cin>>vec[0][i];
    }
    for(int i=0;i<n;i++){
        cin>>vec[1][i];
    }
    vector<vector<ll>> dp(2,vector<ll> (n,0));
    if(vec[0][0] == '.' && vec[1][0] == '.'){
        dp[0][0] = 2;
        dp[1][0] = 2;
    }
    else if(vec[0][0] =='#' && vec[1][0] == '.'){
            dp[1][0] = 1;
    }
    else if(vec[0][0] == '.' && vec[1][0] == '#'){
            dp[0][0] = 1;
    }
    else{
        dp[0][0] =0 ;
        dp[1][0] = 0;
    }
    ll ans =0;
    for(int i=1;i<n;i++){
        if(vec[0][i] == '.' && vec[1][i] == '.'){
        dp[0][i] = (dp[0][i-1] + dp[1][i-1] )%inf;
        dp[1][i] = dp[0][i] % inf;

        }
        else if(vec[0][i] =='#' && vec[1][i] == '.'){
            dp[1][i] = dp[1][i-1]%inf;
        }
        else if(vec[0][i] == '.' && vec[1][i] == '#'){
            dp[0][i] = dp[0][i-1]%inf;
        }
    }
    cout<<(dp[0][n-1]+dp[1][n-1])%inf<<"\n";





}

signed main(){
    FAST_IO
    int q=1;
    cin>>q;
    while(q--){
        solve();
    }
    return 0;
}

/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \|     |//  `.
            /  \|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              pass System Test!
*/