给四个数 问能不能算出24点。。。我的方法比较烂。。。920ms 差点TLE。应该有更好的方法。

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
double a[], ff[], n;
double rt[][], yy[];
int sum;
double get(double x, double y, int fu)
{
if (fu == ) return x + y;
if (fu == ) return x - y;
if (fu == ) return x * y;
if (fu == ) return x / y;
}
void dfs(int tot)
{
int ii;
if (tot == )
{
rt[sum][] = yy[];
rt[sum][] = yy[];
rt[sum][] = yy[];
rt[sum][] = yy[];
sum++;
return;
}
for (ii = ; ii < ; ii++)
{
if (ff[ii] == )
{
ff[ii] = ;
yy[tot] = a[ii];
dfs(tot + );
ff[ii] = ;
}
}
}
int main()
{
while (~scanf("%lf%lf%lf%lf", &a[], &a[], &a[], &a[]))
{
memset(ff, , sizeof(ff));
sum = ; dfs(); int i, j, k, g;
int ans = ;
double linshi1 = , linshi2 = , linshi3 = ;
double z, x, c, v;
for (i = ; i <= ; i++)
{
for (g = ; g <= ; g++)
{
for (k = ; k <= ; k++)
{
for (j = ; j <= ; j++)
{ z = rt[i][]; x = rt[i][]; c = rt[i][]; v = rt[i][];
linshi1 = get(z, x, g);
linshi2 = get(linshi1, c, k);
linshi3 = get(linshi2, v, j);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } linshi1 = get(z, x, g);
linshi2 = get(c, v, j);
linshi3 = get(linshi1, linshi2, k);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } linshi1 = get(x, c, k);
linshi2 = get(z, linshi1, g);
linshi3 = get(linshi2, v, j);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } linshi1 = get(x, c, k);
linshi2 = get(linshi1, v, j);
linshi3 = get(z, linshi2, g);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } linshi1 = get(c, v, j);
linshi2 = get(z, x, g);
linshi3 = get(linshi1, linshi2, k);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } linshi1 = get(c, v, j);
linshi2 = get(x, linshi1, k);
linshi3 = get(z, linshi2, g);
if (fabs(linshi3 - )<0.0000001){ ans = ; break; } }
if (ans) break;
}
if (ans) break;
}
if (ans) break;
}
if (ans == )printf("Yes\n");
else printf("No\n");
}
return ;
}

湖南多校对抗赛(2015.05.03)Problem A: Twenty-four point的更多相关文章

  1. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  2. Contest2073 - 湖南多校对抗赛(2015.04.06)

    Contest2073 - 湖南多校对抗赛(2015.04.06) Problem A: (More) Multiplication Time Limit: 1 Sec  Memory Limit:  ...

  3. 湖南多校对抗赛(2015.05.03)Problem B: War

    并查集.从后往前加边. #include<stdio.h> #include<string.h> #include<math.h> #include<algo ...

  4. Contest2089 - 湖南多校对抗赛(2015.05.31) Swipe(csu1648)

    Problem E: Swipe Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 100  Solved: 15[Submit][Status][Web ...

  5. Aquarium Tank(csu1634+几何+二分)Contest2087 - 湖南多校对抗赛(2015.05.24)-G

    Aquarium Tank Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 15  Solved: 4[Submit][Status][Web Board ...

  6. Heaps(Contest2080 - 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)+scu1616)

    Problem H: Heaps Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 9[Submit][Status][Web Bo ...

  7. Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))

    Problem H: Clock Pictures Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 18[Submit][Stat ...

  8. CSU 2136 ——湖南多校对抗赛 I

    2136: 统帅三军! Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 55     ...

  9. 2015.05.15,外语,学习笔记-《Word Power Made Easy》 01 “如何讨论人格特点”

    2015.03.17,外语,读书笔记-<Word Power Made Easy> 01 “如何讨论人格特点”学习笔记 SESSIONS 1 本来这些章节都是在一两年前学习的,现在趁给友人 ...

随机推荐

  1. Linux实战教学笔记10:正则表达式

    第十节 正则表达式 标签(空格分隔):Linux实战教学笔记 ---更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的 ...

  2. 金蝶KIS专业版替换SXS.dll 遭后门清空数据被修改为【恢复数据联系QQ 735330197,2251434429】解决方法 修复工具。

    金蝶KIS专业版 替换SXS.dll 遭后门清空数据(凭证被改为:恢复数据联系QQ 735330197,2251434429)恢复解决方法. [客户名称]:山东青岛福隆发纺织品有限公司 [软件名称]: ...

  3. json格式化和查看工具

    以前一直以来都觉得xml个可读性要比json的可读性好,后来使用了JSON Viewer这个小工具之后,发现自己错了.之前认为json的可读性差,完全是因为没有很好的查看工具.JSON Viewer这 ...

  4. tuple 可更改的列表和不可更改的元组

    tuple([iterable]) Return a tuple whose items are the same and in the same order as iterable's items. ...

  5. Tweak 中系统方法写入文件到根目录下面失败

    Tweak 中系统方法写入文件到根目录下面失败 失败原因: Error Domain=NSCocoaErrorDomain Code=513 "The operation couldn’t ...

  6. 原生javascript扫雷游戏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 初识git--基础命令

    重要:远程分支是一些无法移动的本地分支,本地分支,本地分支,三遍!是对远程库中分支的索引,只有在git进行网络交互时才会更新,用 (远程仓库名)/(分支名) 这样的形式表示远程分支 一.基础命令1 1 ...

  8. U3D音频系统

    一.基本信息 1.支持的声音格式 WAV OGG MP3 AIFF MOD S3M xm IT    导入以后,unity会选择的压缩方式: WAV:无损,音质好,文件大,适用于较短文件 OGG.MP ...

  9. char、varchar、varchar(2)的区别

    char是存储字节是一定的,例如char(10),存储内容为"java",那么实际存储的是"java      ",后面是6个空字符.按字节存储: varcha ...

  10. JsSIP.UA.JsSIP 总是返回错误:422 Session Interval Too Small

    在JsSIP 中 JsSIP.UA.call 总是 返回错误:422 Session Interval Too Small 关于错详情在这篇文章中解释的比较详尽:http://www.cnblogs. ...