记录编号 |
25195 |
评测结果 |
AAAAAAAAAA |
题目名称 |
算24点 |
最终得分 |
100 |
用户昵称 |
Truth.Cirno |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2011-06-13 22:19:47 |
内存使用 |
0.26 MiB |
显示代码纯文本
//#include <iostream>
#include <fstream>
#include <cmath>
//#include <iomanip>//<<setiosflags(ios::fixed)<<setprecision(user set)<<
using namespace std;
ifstream input("point24.in");
ofstream output("point24.out");
int inf[4],ans[3];
char mar[3];
int findmax(int x,int y)
{
if (x>=y)
return(x);
else
return(y);
}
int findmin(int x,int y)
{
if (y>=x)
return(x);
else
return(y);
}
int main(void)
{
int i,j,k,l,m1,m2,m3;
input>>inf[0]>>inf[1]>>inf[2]>>inf[3]>>inf[4];
for (i=0;i<=3;i++) for (j=0;j<=3;j++) if (j!=i&&inf[j]<=inf[i]) for (k=0;k<=3;k++) if (k!=i&&k!=j) for (l=0;l<=3;l++) if (l!=i&&l!=j&&l!=k)
{
for (m1=1;m1<=4;m1++)
{
if (m1==1)
{
ans[0]=inf[i]+inf[j];
mar[0]='+';
}
if (m1==2)
{
if (inf[i]>inf[j])
{
ans[0]=inf[i]-inf[j];
mar[0]='-';
}
else
continue;
}
if (m1==3)
{
ans[0]=inf[i]*inf[j];
mar[0]='*';
}
if (m1==4)
{
if (inf[i]%inf[j]==0)
{
ans[0]=inf[i]/inf[j];
mar[0]='/';
}
else
continue;
}
for (m2=1;m2<=4;m2++)
{
if (m2==1)
{
ans[1]=ans[0]+inf[k];
mar[1]='+';
}
if (m2==2)
{
if (ans[0]!=inf[k])
{
ans[1]=abs(ans[0]-inf[k]);
mar[1]='-';
}
else
continue;
}
if (m2==3)
{
ans[1]=ans[0]*inf[k];
mar[1]='*';
}
if (m2==4)
{
if (ans[0]%inf[k]==0||inf[k]%ans[0]==0)
{
if (ans[0]%inf[k]==0)
ans[1]=ans[0]/inf[k];
if (inf[k]%ans[0]==0)
ans[1]=inf[k]/ans[0];
mar[1]='/';
}
else
continue;
}
for (m3=1;m3<=4;m3++)
{
if (m3==1)
{
ans[2]=ans[1]+inf[l];
mar[2]='+';
}
if (m3==2)
{
if (ans[1]!=inf[l])
{
ans[2]=abs(ans[1]-inf[l]);
mar[2]='-';
}
else
continue;
}
if (m3==3)
{
ans[2]=ans[1]*inf[l];
mar[2]='*';
}
if (m3==4)
{
if (ans[1]%inf[l]==0||inf[l]%ans[1]==0)
{
if (ans[1]%inf[l]==0)
ans[2]=ans[1]/inf[k];
if (inf[l]%ans[1]==0)
ans[2]=inf[k]/ans[1];
mar[2]='/';
}
else
continue;
}
if (ans[2]==24)
{
output<<inf[i]<<mar[0]<<inf[j]<<'='<<ans[0]<<endl;
output<<findmax(ans[0],inf[k])<<mar[1]<<findmin(ans[0],inf[k])<<'='<<ans[1]<<endl;
output<<findmax(ans[1],inf[l])<<mar[2]<<findmin(ans[1],inf[l])<<'='<<"24\n";
input.close();
output.close();
return(0);
}
}
}
}
}
output<<"No answer!\n";
input.close();
output.close();
return(0);
}