求助,#3#6#9不过
查看原帖
求助,#3#6#9不过
1098818
pbjyeee楼主2024/7/21 16:25
#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];
}

我想了半天,逻辑和题解第一篇差不多,数据点不给下我也不会修,求助

2024/7/21 16:25
加载中...