50pts 求助
查看原帖
50pts 求助
1126325
Indestructible楼主2024/7/10 08:03
#include<bits/stdc++.h>
using namespace std;
int a[4];
int calc(int x,int y,int op){
	if (x==-1 || y==-1) return -1;
	if (op==1) return x+y;
	if (op==2) return x-y;
	if (op==3) return x*y;
	if (op==4 && (!y || x%y)) return -1;
	return x/y;
}
int print(int x,int y,int op){
	if (op==1){ printf("%d+%d=%d\n",x,y,x+y); return x+y; }
	if (op==2){ printf("%d-%d=%d\n",x,y,x-y); return x-y; }
	if (op==3){ printf("%d*%d=%d\n",x,y,x*y); return x*y; }
	if (op==4){ printf("%d/%d=%d\n",x,y,x/y); return x/y; }
}
signed main(){
	scanf("%d%d%d%d",&a[0],&a[1],&a[2],&a[3]);
	do{
		for (int i=1;i<=4;i++) for (int j=1;j<=4;j++) for (int k=1;k<=4;k++){
			int ans1=calc(calc(calc(a[0],a[1],i),a[2],j),a[3],k);
			int ans2=calc(calc(a[0],a[1],i),calc(a[2],a[3],j),k);
			if (ans1==24){ print(print(print(a[0],a[1],i),a[2],j),a[3],k); return 0; }
			if (ans2==24){ print(print(a[0],a[1],i),print(a[2],a[3],j),k); return 0; }
		}
	}while (next_permutation(a,a+4));
	printf("No answer!");
	return 0;
}

把 WA on #1 下载了下来,发现没有问题,SPJ 什么东西

2024/7/10 08:03
加载中...