给四个数 问能不能算出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. 微型orm框架--dapper的简单使用

    1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 ; -- -------------------------- ...

  2. C++中的结构体vector排序

    在包含了头文件#include <algorithm>之后,就可以直接利用sort函数对一个vector进行排序了: // sort algorithm example #include ...

  3. 浅谈CSS3 box-reflect 属性

    今天说一下 CSS3的box-reflect属性,也就是倒影特效. 语法: box-reflect:包括3个值. 1. direction 定义方向,取值包括 above . below . left ...

  4. hdu1037

    #include <iostream> #include <cstdio> using namespace std; int main() { int a,b,c; while ...

  5. Python datetime模块的datetime类

    datetime模块定义了下面这几个类: datetime.date:表示日期的类.常用的属性有year, month, day. datetime.time:表示时间的类.常用的属性有hour, m ...

  6. mysql java写入时间少14小时

    查看时区: mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | V ...

  7. qdoc 写法

    Qdoc 注释 Qdoc注释有一些命令, 能够对文档进行组织. QDoc能识别以下3种类型的命令 主题(topic command) 主题命令确定了文档的元素,例如C++类(class),函数(fun ...

  8. 石头剪刀布 OpenJudge 1.6.08

    石头剪刀布是常见的猜拳游戏.石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. 一天,小A和小B正好在玩石头剪刀布.已知他们的出拳都是有周期性规律的,比如:"石头-布-石头-剪 ...

  9. ng1笔记

    AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序. ng-model 指令把元素值(比如输入域的值)绑定到应用程序. ...

  10. win8及win8.1商店出现0X80073CF9的解决办法!

    //添加appinstallagent无效的方法 http://jingyan.baidu.com/article/e52e3615a2b38f40c60c51d3.html