大佬求助,暴力枚举,30分
查看原帖
大佬求助,暴力枚举,30分
583593
AC_bee楼主2023/8/11 22:35
#include<bits/stdc++.h>
using namespace std;
int a1,a2,a3,a4,a5,a6,a7,a8,a;
int b1,b2,b3,b4,b5,b6,b7,b8,b;
int ans,sum;
bool zs(int aa1,int aa2,int aa3,int aa4,int aa5,int aa6,int aa7,int aa8){
	if(aa1==aa8 && aa2==aa7 && aa3==aa6 && aa4==aa5){
		return true;
	}
	return false;
}
int main(){
	cin>>a>>b;
	a8=a%10;
	a=a/10;
	a7=a%10;
	a=a/10;
	a6=a%10;
	a=a/10;
	a5=a%10;
	a=a/10;
	a4=a%10;
	a=a/10;
	a3=a%10;
	a=a/10;
	a2=a%10;
	a=a/10;
	a1=a%10;
	b8=b%10;
	b=b/10;
	b7=b%10;
	b=b/10;
	b6=b%10;
	b=b/10;
	b5=b%10;
	b=b/10;
	b4=b%10;
	b=b/10;
	b3=b%10;
	b=b/10;
	b2=b%10;
	b=b/10;
	b1=b%10;
	while(!(a1==b1 && a2==b2 && a3==b3 && a4==b4 && a5==b5 && a6==b6 && a7==b7 && a8==b8)){
		if(zs(a1,a2,a3,a4,a5,a6,a7,a8)==true) ans++;
		a8++;
		if(a8==10){
			a8=0;
			a7++;
		}
		if((a5==1 && a6==2) || (a5==0 && a6==1) || (a5==0 && a6==3) || (a5==0 && a6==5) || (a5==0 && a6==7) || (a5==0 && a6==8) || (a5==1 && a6==0)){
			if(a7==3 && a8==1){
				a7=0;
				a8=0;
				a6++;
			}
		}
		else if((a5==0 && a6==4) || (a5==0 && a6==6) || (a5==0 && a6==9) || (a5==1 && a6==1)){
			if(a7==3 && a8==0){
				a7=0;
				a8=0;
				a6++;
			}
		}
		else if(a5==0 && a6==2){
			sum=a1*1000+a2*100+a3*10+a4;
			if(a3==0 && a4==0){
				sum=sum%400;
				if(sum==0){
					if(a7==2 && a8==9){
						a7=0;
						a8=0;
						a6++;
					}
				}
				else {
					if(a7==2 && a8==8){
						a7=0;
						a8=0;
						a6++;
					}
				}
			}
			else {
				sum=sum%4;
				if(sum==0){
					if(a7==2 && a8==9){
						a7=0;
						a8=0;
						a6++;
					}
				}
				else {
					if(a7==2 && a8==8){
						a7=0;
						a8=0;
						a6++;
					}
				}
			}
		} 
		if(a6==10){
			a6=0;
			a5++;
		}
		if(a5==1 && a6==2){
			a5=0;
			a6=0;
			a4++;
		}
		if(a4==10){
			a4=0;
			a3++;
		}
		if(a3==10){
			a3=0;
			a2++;
		}
		if(a2==10){
			a2=0;
			a1++;
		}
	}
	cout<<ans;
	return 0;
}
2023/8/11 22:35
加载中...