社区讨论
点7,11没过,求调QWQ
P1236算24点参与者 2已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @mhjh4vpr
- 此快照首次捕获于
- 2025/11/04 02:29 4 个月前
- 此快照最后确认于
- 2025/11/04 02:29 4 个月前
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,k,ans,ans2,ans1,f[65];
bool mark=false;
void solve(int a,int b,int c,int d){
for(int i=1;i<=64;i++){
int the1=f[i]/100;
int the2=(f[i]/10)%10;
int the3=f[i]%10;
if(the1==1)ans=a+b;
if(the1==2)ans=a-b;
if(the1==3)ans=a*b;
if(the1==4){
if(a%b!=0)continue;
ans=a/b;
}
if(ans<0)continue;
ans1=ans;
if(the2==1)ans+=c;
if(the2==2)ans-=c;
if(the2==3)ans*=c;
if(the2==4){
if(ans%c!=0)continue;
ans/=c;
}
if(ans<0)continue;
ans2=ans;
if(the3==1)ans+=d;
if(the3==2)ans-=d;
if(the3==3)ans*=d;
if(the3==4){
if(ans%d!=0)continue;
ans/=d;
}
if(ans==24){
mark=true;
if(the1==1)cout<<max(a,b)<<"+"<<min(a,b)<<"="<<a+b;
if(the1==2)cout<<a<<"-"<<b<<"="<<a-b;
if(the1==3)cout<<max(a,b)<<"*"<<min(a,b)<<"="<<a*b;
if(the1==4)cout<<a<<"/"<<b<<"="<<a/b;
cout<<endl;
if(the2==1)cout<<max(ans1,c)<<"+"<<min(ans1,c)<<"="<<ans1+c;
if(the2==2)cout<<ans1<<"-"<<c<<"="<<ans1-c;
if(the2==3)cout<<max(ans1,c)<<"*"<<min(ans1,c)<<"="<<ans1*c;
if(the2==4)cout<<ans1<<"/"<<c<<"="<<ans1/c;
cout<<endl;
if(the3==1)cout<<max(ans2,d)<<"+"<<min(ans2,d)<<"="<<24;
if(the3==2)cout<<ans2<<"-"<<d<<"="<<24;
if(the3==3)cout<<max(ans2,d)<<"*"<<min(ans2,d)<<"="<<24;
if(the3==4)cout<<ans2<<"/"<<d<<"="<<24;
return;
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int a,b,c,d;
cin>>a>>b>>c>>d;
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
for(int k=1;k<=4;k++){
f[++m]=i*100+j*10+k;
}
}
}
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
for(int k=1;k<=4;k++){
for(int t=1;t<=4;t++){
if(i==j||i==k||i==t||j==k||j==t||k==t)continue;
int x=0,y=0,z=0,u=0;
if(i%4==1)x=a;
if(i%4==2)x=b;
if(i%4==3)x=c;
if(i%4==0)x=d;
if(j%4==1)y=a;
if(j%4==2)y=b;
if(j%4==3)y=c;
if(j%4==0)y=d;
if(k%4==1)z=a;
if(k%4==2)z=b;
if(k%4==3)z=c;
if(k%4==0)z=d;
if(t%4==1)u=a;
if(t%4==2)u=b;
if(t%4==3)u=c;
if(t%4==0)u=d;
solve(x,y,z,u);
if(mark==true)return 0;
}
}
}
}
cout<<"No answer!";
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...