Submission
Status:
PP--------
Subtask/Task Score:
20/100
Score: 20
User: Fifaxmb
Problemset: ทางเชื่อม
Language: cpp
Time: 0.089 second
Submitted On: 2026-05-09 11:58:45
#include<bits/stdc++.h>
using namespace std;
#define Fifa67king ios::sync_with_stdio(0);cin.tie(0);
const int mod = 1e9 + 7;
using i64 = long long;
int main(){
Fifa67king;
int n;cin >> n;
while(n --){
int l;cin >> l;
char r[l],c[l];
int dp1 = 1,dp2 = 1;
cin >> r >> c;
for(int i = 0;i < l;i++){
i64 ndp1 = 0,ndp2 = 0;
bool chk1 = (r[i] == '#'),chk2 = (c[i] == '#');
if(!chk1 && !chk2){
ndp1 = (dp1 + dp2) % mod;
ndp2 = (dp1 + dp2) % mod;
}
else if(chk1 && !chk2){
ndp2 = (dp2)%mod;
}
else if(!chk1 && chk2){
ndp1 = (dp1)%mod;
}
dp1 = ndp1;dp2 = ndp2;
}
cout << (dp1 + dp2) % mod << '\n';
}
}