【eps=1e-9】poj 2163 Easy Trading

这题过得想呵呵了。。。double型的数很麻烦。。。有一个始终过不了,一直WA,但是学会了另一种double型比较大小的方式。。。

令double eps=1e-9;  然后如果double型的 a和b 比较大小,只需比较他们的差值和eps的大小即可。。。因为double有误差

eg:  a-b>eps

AC的代码:

#include <stdio.h>

double price[10005];//每天价格

double cal(int day,int n)
{
	//计算第day天,前n天的均价
	int i;
	double sum=0;
	int count=n;
	for(i=day;count>0;i--)
	{
		sum+=price[i];
		count--;
	}

	return (double)sum/(double)n;
}

void work(int m,int n,int k)
{
	if(cal(n,m)>cal(n,n))
		printf("BUY ON DAY %d\n",n);

	else if(cal(n,m)<cal(n,n))
			printf("SELL ON DAY %d\n",n);

	int i;
	for(i=n+1;i<=k;i++)
	{
		if(cal(i-1,m)<cal(i-1,n) && cal(i,m)>cal(i,n))
			printf("BUY ON DAY %d\n",i);

		else if(cal(i-1,m)>cal(i-1,n) && cal(i,m)<cal(i,n))
			printf("SELL ON DAY %d\n",i);
	}
}

int main()
{
	int m,n;  //几日均线,且知 m<n
	int k;  //连续多少天

	scanf("%d%d%d",&m,&n,&k);

	int i;
	for(i=1;i<=k;i++)
		scanf("%lf",&price[i]);

	work(m,n,k);

	return 0;
}

一直WA的代码:

#include <stdio.h>

double price[10005];//每天价格
bool isOnHand;  //手中有股票没有,没有是false
double eps=1e-9;

double cal(int day,int n)
{
	//计算第day天,前n天的均价
	int i;
	double sum=0;
	int count=n;
	for(i=day;count>0;i--)
	{
		sum+=price[i];
		count--;
	}

	return (double)sum/(double)n;
}

void work(int m,int n,int k)
{
	int i;
	for(i=n;i<=k;i++)
	{
		if(isOnHand==false && cal(i,m)-cal(i,n)>eps)
		{
			printf("BUY ON DAY %d\n",i);
			isOnHand=true;
		}

		else if(isOnHand==true && cal(i,m)-cal(i,n)<eps)
		{
			printf("SELL ON DAY %d\n",i);
			isOnHand=false;
		}
	}
}

int main()
{
	int m,n;  //几日均线,且知 m<n
	int k;  //连续多少天

	scanf("%d%d%d",&m,&n,&k);

	int i;
	for(i=1;i<=k;i++)
		scanf("%lf",&price[i]);

	isOnHand=false;
	work(m,n,k);

	return 0;
}
时间: 2025-01-02 05:07:04

【eps=1e-9】poj 2163 Easy Trading的相关文章

【打表出来】poj 2363 Blocks

借鉴网上,这题有两种解法,如果不打表,就会超时,但是打表可以行... 然后就是用网上看到的方法优化,当然法二会好一些... 题意:给出边长为1的立方体的体积,对其进行包装,求出组合出最小的表面积. 设A*B*C==N,我们可以枚举A={1........N};B={1..........N};C={1..........N};求出最小的值给ANS「N」: 用到ANS「N」时直接打印就可以了 打表: #include <stdio.h> const int INF=0x7fffffff; int

【转】网络游戏协议 -网络数据加密相关—摘自【游戏编程精粹】

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/game-detail/1642.html 关于网络协议,以及网络数据加密是后期对项目网络交互务必做的一步,这里转一篇较好的文章.   Andrew Kirmse Most encryption schemes assume that a trusted sender and a trusted recipient want to commu

【演讲实录+视频】走近40+世界级AI专家!第三届中国人工智能大会资料分享

中国人工智能大会(CCAI),由中国人工智能学会发起,目前已成功举办两届,是中国国内级别最高.规模最大的人工智能大会.秉承前两届大会宗旨,由中国人工智能学会.阿里巴巴集团 & 蚂蚁金服主办,CSDN.中国科学院自动化研究所承办,作为独家直播合作伙伴的第三届中国人工智能大会(CCAI 2017)于7月22-23日在杭州召开. 大会官网及图文直播:  http://ccai.caai.cn/m/zone/ccai2017/live 大会现场视频直播盛况:  https://yq.aliyun.com

【问答合集】阿里视频云常见技术问题汇总——内含技术文档40+ 持续更新中

一.前言 我们发现现在非常多的客户对阿里视频云服务了解不多,本文档的核心目标是将用户使用阿里视频云服务(点播,直播,连麦)的常见问题做一个系统的归纳.这可能不仅仅是一个FAQ,我们会试图将具体实现给开发者讲清楚,希望开发者能够更加深入的了解视频云的核心团队的架构设计方案.并且提供一系列的解决方案.个人认为端SDK是最接近客户的,所以所有的问题出发点都是从端SDK来讲解的,但是会试图结合云端服务的设计将问题讲清楚. 二.汇总常见问题方案 2.1 点播服务相关 [视频点播]点播服务是什么?为什么需要

【Python数据挖掘课程】二.Kmeans聚类数据分析及Anaconda介绍

        这次课程主要讲述一个关于Kmeans聚类的数据分析案例,通过这个案例让同学们简单了解大数据分析的基本流程,以及使用Python实现相关的聚类分析.         主要内容包括:         1.Anaconda软件的安装过程及简单配置         2.聚类及Kmeans算法介绍        3.案例分析:Kmeans实现运动员位置聚集         前文推荐:[Python数据挖掘课程]一.安装Python及爬虫入门介绍         希望这篇文章对你有所帮助,尤

社区精选来几套,欢欢乐乐闹元宵!【49篇深度】

  新浪微博.淘宝搜索.美团.美丽说.淘宝推荐.小米.支付宝.阿里云.淘宝无线在内,涵盖建模.个性化推荐.排序学习.系统优化.数据监控.流量优化.架构探索等多方面一线经验总结. <手机淘宝推荐中的排序学习>  <基于微博用户关系和行为的用户建模>  <移动电商搜索个性化技术>  <美团生活服务个性化推荐实践>  <美丽说个性化推荐技术>  <UC浏览器客户端的数据监控及应用>  <走进阿里分布式数据库服务[实践]> <

【COCOS2D-HTML5 开发之一】新建HTML5项目及简单阐述与COCOS2D/X引擎关系

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d-html5/1463.html             真的是有一段时间没写博了,这段时间呢,发生的事情真的挺多,另外自己呢也闲来做了一些自己的喜欢的东西,主要做的还是基于Mac系统的Cocoa框架的各种编辑器吧.(对了,今年初也出了自己第二本书<iOS游戏编程之从零开始-Cocos2d-x与cocos2d引擎游戏开发>)

【驻云学院】云中沙箱自助实验之ECS系列

本文作者:驻云信息科技,鲍天舒 近几年,"云计算"已经成为互联网时尚标志.如果你不懂云计算,你的朋友圈会越来越小.如果你不了解阿里云,你会发现你已经在不知不觉中OUT了.当周围的朋友在津津乐道的探讨云计算,阿里云如之何如之何时,你是不是会羡慕呢?别着急,小编将带你一步步深入云计算和阿里云.   首先,小编普及下"云计算"的基本概念.关于"云计算"的定义,从事不同职业的人,对云计算解释也是不同的.真可谓仁者见仁,智者见智呀. 不过,关于"

【JSP 随笔之一】JSP常用语法和使用总括&amp;&amp;JSP服务器端和客户端代码互相调用

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/java-servlet/858.html 对于Servlet 学习过后,那么接触到JSP,那么可以发现JSP编程则会突然喜爱上,因为JSP不仅仅也是一个servlet,还能帮我们直接从servlet的容器(Tomcat)为我们直接生成对应的servlet代码.至于更加详细的介绍大家可以自行baidu-goole 下面让我们首先写一个JSP,