⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2787.cpp

📁 非常好的C++学习源码,里面包括各种算法的实现,二叉的的前中后序遍历等
💻 CPP
字号:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int i,j,k,l,m,n,q,p,c[3],t,r;
	double a[4],b[4],sum,sum1,sum2,sum3;
	while(1)
	{
		t=0;
		r=0;
		for (i=0;i<4;i++)
			cin>>a[i];
		if (a[0]==0)
			break;
		for (i=1;i<=4;i++)
		{
			if (t==1)
				break;
			for (j=1;j<=4;j++)
			{
				if (t==1)
					break;
				for (k=1;k<=4;k++)
				{
					if (t==1)
						break;
					for (l=1;l<=4;l++)
					{
						if (t==1)
							break;
						if ((i*j*k*l==24)&&(i+j+k+l==10))
						{
							b[0]=a[i-1];
							b[1]=a[j-1];
							b[2]=a[k-1];
							b[3]=a[l-1];
							for (m=0;m<6;m++)
							{
								if (t==1)
									break;
								for (n=0;n<6;n++)
								{
									if (t==1)
										break;
									for (q=0;q<6;q++)
									{
										if (t==1)
											break;
										c[0]=m;
										c[1]=n;
										c[2]=q;
										sum=b[0];
										for (p=0;p<3;p++)
										{
											if (c[p]==0)
											{
												sum=sum+b[p+1];
												continue;
											}
											if (c[p]==1)
											{
												sum=sum-b[p+1];
												continue;
											}
											if (c[p]==2)
											{
												sum=b[p+1]-sum;
												continue;
											}
											if (c[p]==3)
											{
												sum=sum*b[p+1];
												continue;
											}
											if ((c[p]==4)&&(fabs(b[p+1])<1e-5))
											{
												r=1;
												break;
											}
											if (c[p]==4)
											{
												sum=sum/b[p+1];
												continue;
											}
											if ((c[p]==5)&&(fabs(sum)<1e-5))
											{
												r=1;
												break;
											}
											if (c[p]==5)
											{
												sum=b[p+1]/sum;
												continue;
											}
										}
										if (r==1)
											sum=0;
										r=0;
										if (c[0]==0)
											sum1=b[0]+b[1];
										if (c[0]==1)
											sum1=b[0]-b[1];
										if (c[0]==2)
											sum1=b[1]-b[0];
										if (c[0]==3)
											sum1=b[0]*b[1];
										if ((c[0]==4)&&(fabs(b[1])<1e-5))
											r=1;
										if (c[0]==4)
											sum1=b[0]/b[1];
										if ((c[0]==5)&&(fabs(b[0])<1e-5))
											r=1;
										if (c[0]==5)
											sum1=b[1]/b[0];
										if (c[2]==0)
											sum2=b[2]+b[3];
										if (c[2]==1)
											sum2=b[2]-b[3];
										if (c[2]==2)
											sum2=b[3]-b[2];
										if (c[2]==3)
											sum2=b[2]*b[3];
										if ((c[2]==4)&&(fabs(b[3])<1e-5))
											r=1;	
										if (c[2]==4)
											sum2=b[2]/b[3];
										if ((c[2]==5)&&(fabs(b[2])<1e-5))
											r=1;
										if (c[2]==5)
											sum2=b[3]/b[2];
										if (c[1]==0)
											sum3=sum2+sum1;
										if (c[1]==1)
											sum3=sum2-sum1;
										if (c[1]==2)
											sum3=sum1-sum2;
										if (c[1]==3)
											sum3=sum2*sum1;
										if ((c[1]==4)&&(fabs(sum1)<1e-5))
											r=1;
										if (c[1]==4)
											sum3=sum2/sum1;
										if ((c[1]==5)&&(fabs(sum2)<1e-5))
											r=1;
										if (c[1]==5)
											sum3=sum1/sum2;
										if (r==1)
											sum3=0;
										if ((fabs(sum-24)<=1e-5)||(fabs(sum3-24)<=1e-5))
										{
											t=1;
											break;
										}
									}
								}
							}
						}
					}
				}
			}
		}
		if (t==1)
			cout<<"YES"<<endl;
		else
			cout<<"NO"<<endl;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -