#include<bits/stdc++.h>
using namespace std;
long long ans[1145]={0},n,youxian[10]={0},M=0;
string a;
int main(){
cin>>n;
for(int i=0;i<6;i++){
cin>>a;
if(a=="AB")youxian[1]=i;
if(a=="AC")youxian[2]=i;
if(a=="BA")youxian[3]=i;
if(a=="BC")youxian[4]=i;
if(a=="CA")youxian[5]=i;
if(a=="CB")youxian[6]=i;
}
ans[1]=1;
if(youxian[1]<youxian[2]){
if(youxian[3]<youxian[4]){M=2;}
else {M=1;}
}
else if(youxian[2]<youxian[1]){
if(youxian[5]<youxian[6]){M=2;}
else {M=1;}
}
for(int i=2;i<40;i++){ans[i]=ans[i-1]*(1+M)+M;}
cout<<ans[n];
}
我想了半天,逻辑和题解第一篇差不多,数据点不给下我也不会修,求助