幻方思想怎么就是过不了
  • 板块P1838 三子棋I
  • 楼主lplvvl
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/11/11 17:03
  • 上次更新2024/11/11 20:18:49
查看原帖
幻方思想怎么就是过不了
551111
lplvvl楼主2024/11/11 17:03
#include<bits/stdc++.h>
using namespace std;
int a[11];
int aa[10],bb[10];
long long n;
int i=1;
int fuk(int p){
	if(p==1)return 8;
	if(p==2)return 1;
	if(p==3)return 6;
	if(p==4)return 3;
	if(p==5)return 5;
	if(p==6)return 7;
	if(p==7)return 4;
	if(p==8)return 9;
	if(p==9)return 2;
	
}
int main(){
	cin>>n;
	while(n){
		a[i]=n%10;
		n/=10;
		i++;
	}
	for(int j=1;j<=i;j++){
		if(j%2==0){
			bb[j/2]=fuk(a[j]);
		}
		else{
			aa[j/2+1]=fuk(a[j]);
		}
	}
	for(int j=1;j<=i/2+1;j++){
		for(int jj=j;jj<=i/2+1;jj++){
			for(int jjj=jj;jjj<=i/2+1;jjj++){
				if((aa[j]+aa[jj]+aa[jjj])==15){
					cout<<"xiaoa wins.";
					return 0; 
				}
			}
		}
	}
	for(int j=1;j<=i/2;j++){
		for(int jj=j;jj<=i/2;jj++){
			for(int jjj=jj;jjj<=i/2;jjj++){
				if((bb[j]+bb[jj]+bb[jjj])==15){
					cout<<"uim wins.";
					return 0; 
				}
			}
		}
	}
	cout<<"drew.";
}

转一下幻方加和是15就证明在一条线上

2024/11/11 17:03
加载中...