15 条题解

  • 2
    @ 2024-10-6 20:34:37

    MX.[J2A]题解

    思路

    先来说说思路。

    很简单,判断即可。

    计算出以下情况(以下的=不指程序中的,而是数学中的):

    • (a+b)+c=d(a + b) + c = d
    • (a+b)c=d(a + b) - c = d
    • (a+b)×c=d(a + b) \times c = d
    • (ab)+c=d(a - b) + c = d
    • (ab)c=d(a - b) - c = d
    • (ab)×c=d(a - b) \times c = d
    • (a×b)+c=d(a \times b) + c = d
    • (a×b)c=d(a \times b) - c = d
    • (a×b)×c=d(a \times b) \times c = d

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int a,b,c,d;
    int ans=0;
    
    int Calculate(int x,int y)
    {
    	int f,s;
    	if(x==1) f=a+b;	
    	if(x==2) f=a-b;	
    	if(x==3) f=a*b;	
    	if(y==1) s=f+c;	
    	if(y==2) s=f-c;	
    	if(y==3) s=f*c;	
    	return s;
    }
    
    int main()
    {
    	cin>>a>>b>>c>>d;
    	for(int i=1;i<=3;i++) 
    		for(int j=1;j<=3;j++) 
    			if(Calculate(i,j)==d) ans=1;
    	if(ans==1) cout<<"Yes";
    	else cout<<"No";
    } 
    

    避免打表无聊,于是写了个复杂的。

    信息

    ID
    25
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    1672
    已通过
    558
    上传者