给四个数 问能不能算出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. CKPlayer 只调用HTML5播放器时全屏问题 这只是Chrome浏览器的渲染bug

    如题,在系统中使用CKPlayer播放器,一切顺利,偶然发现没有全屏按钮, 正常的全屏按钮是这样的: 经过一步步调试,发现问题出在iframe, 当视频页面在iframe内时,全屏按钮不显示了,这个和 ...

  2. php学习笔记——CSS缓存问题

    PHP也没学多久,在工作中遇到了一个问题,先来记录一下. 问题描述: 同一项目里面的不同模块对应了不同的网站,但是两个网站用的文件名以是同一规范的,最后导致了两个网站css文件同名,在打开了网站A后去 ...

  3. oracle_sequence用法

    1.    About Sequences(关于序列) 序列是数据库对象一种.多个用户可以通过序列生成连续的数字以此来实现主键字段的自动.唯一增长,并且一个序列可为多列.多表同时使用.序列消除了串行化 ...

  4. 转载:c# string.Format

    C#:STRING.FORMAT数字格式化输出 1.各种常用数字格式化 货币转换 C 或 c(默认小数点后2位.C3后面跟的数字就代表小数后几位)    string.Format("{0: ...

  5. 低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和 ...

  6. C#删除只读文件或文件夹(解决File.Delete无法删除文件)

    引用: http://www.jb51.net/article/72181.htm   C#删除只读文件的方法: if (File.GetAttributes(FFName).ToString().I ...

  7. 关于ajax的短轮询问题

    利用前台的ajax不断向后台服务器请求,后台服务器不断查看数据库里的信息是否变化.若变化将信息返回前台,并执行一些操作 前台ajax代码 注意要加上cache这一项,如果是post请求的化,可以免了. ...

  8. webp图片详解

    WebP(发音 weppy),是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8.根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使 ...

  9. dplyr 数据操作 常用函数(5)

    继续来了解dplyr中的其他有用函数 1.sample() 目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框. sample_n(tbl, size, replace = FALSE, w ...

  10. Java Socket编程基础(1)

    参考资料: <Java网络编程精解> 孙卫琴 一.socket通信简介 什么是socket,简单来说,在linux系统上,进程与进程之间的通信称为IPC,在同一台计算机中,进程与进程之间通 ...