给四个数 问能不能算出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. [ios-必看] 国人当自强:两岸三地在线编程学习网站大搜罗 [转]

    http://blog.csdn.net/lyy_whg/article/details/17350923 说到国内的在线编程学习网站,很多人都是一脸茫然,即使是资深开发者也是如此.在许多人眼中,尽管 ...

  2. ViewCompat.animate(view) floatEval.evaluate() argbEval.evaluate()

    ViewCompat.animate(ivHead) .translationX(60)// .setInterpolator(new CycleInterpolator(4))//循环执行// .s ...

  3. [转]学好Mac常用命令,助力iOS开发

    转自:http://www.jianshu.com/p/d9ec00d28237   序言 在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iO ...

  4. 面向对象---final关键字

    final 在java中表示的意思是最终,也称为完结器,可以用final关键字声明类.属性.方法,在声明时需要注意以下几点: 1.使用final声明的类不能有子类. 2.使用final声明的方法不能被 ...

  5. spark yarn任务的executor 无故 timeout之原因分析

    问题: 用  spark-submit --master yarn --deploy-mode cluster --driver-memory 2G --num-executors 6 --execu ...

  6. js便利json 数组的方法

    这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var ...

  7. Mysq 5.7l服务无法启动,没有报告任何错误

    昨天系统崩溃了,然后重装了Mysql 5.7 安装步骤和遇到问题及解决方案. 去官网下载Mysql 5.7的解压包(zip),解压到你要安装的目录. 我的安装目录是:D:\Java\Mysql 安装步 ...

  8. 2017中国数据库技术大会(DTCC)又要来啦!期待~~

    2017第八届中国数据库技术大会(DTCC2017)将于2017年5月11-13日如约而至.2017中国数据库技术大会(DTCC)以"数据驱动•价值发现"为主题,汇集来自互联网.电 ...

  9. Python学习笔记——进阶篇【第八周】———进程、线程、协程篇(Socket编程进阶&多线程、多进程)

    本节内容: 异常处理 Socket语法及相关 SocketServer实现多并发 进程.线程介绍 threading实例 线程锁.GIL.Event.信号量 生产者消费者模型 红绿灯.吃包子实例 mu ...

  10. Tiny6410之控制icache驱动

    什么是cache:    基于程序访问的局限性,在主存和CPU通用寄存器之间设置了一类高速的.容量较小的存储器,把正在执行的指令地址附件的一部分指令或数据从主存调入这类存储器,供CPU 在一段时间内使 ...