poj2586 Y2K Accounting Bug(贪心)

poj2586 Y2K Accounting Bug(贪心)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents

题目链接:http://poj.org/problem?id=2586

----------------------------------------------------------------------------------------------------------------------------------------------------------
欢迎光临天资小屋害羞害羞害羞害羞http://user.qzone.qq.com/593830943/main

----------------------------------------------------------------------------------------------------------------------------------------------------------

Language:
Y2K Accounting Bug
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 9979   Accepted: 4970

Description

Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost some vital data for preparing annual report for MS Inc. 

All what they remember is that MS Inc. posted a surplus or a deficit each month of 1999 and each month when MS Inc. posted surplus, the amount of surplus was s and each month when MS Inc. posted deficit, the deficit was d. They do not remember which or how many months posted surplus or deficit. MS Inc., unlike other companies, posts their earnings for each consecutive 5 months during a year. ACM knows that each of these 8 postings reported a deficit but they do not know how much. The chief accountant is almost sure that MS Inc. was about to post surplus for the entire year of 1999. Almost but not quite. 

Write a program, which decides whether MS Inc. suffered a deficit during 1999, or if a surplus for 1999 was possible, what is the maximum amount of surplus that they can post.

Input

Input is a sequence of lines, each containing two positive integers s and d.

Output

For each line of input, output one line containing either a single integer giving the amount of surplus for the entire year, or output Deficit if it is impossible.

Sample Input

59 237
375 743
200000 849694
2500000 8000000

Sample Output

116
28
300612
Deficit

题意比較难懂,事实上仅仅要读懂题意,就非常easy了。
大意是一个公司在12个月中,或固定盈余s,或固定亏损d.
但记不得哪些月盈余,哪些月亏损,仅仅能记得连续5个月的代数和总是亏损(<0为亏损),而一年中仅仅有8个连续的5个月,分别为1~5,2~6,…,8~12
问全年是否可能盈利?若可能,输出可能最大盈利金额,否则输出“Deficit”.

思路:贪心思想,每连续5个月中,在保证这5个月经营之和为亏损的情况下,亏损的月数肯定应尽量往后选,盈利的月数应尽量往前选。

一共五种情况:

把5种情况能够归纳为关于s的判定条件:

0 <= s <1/4d           每连续5个月种至少1个月D

1/4d <= s < 2/3d          每连续5个月种至少2个月D

2/3d <= s < 3/2d          每连续5个月种至少3个月D

3/2d <= s < 4d           每连续5个月种至少4个月D

4d <= s                全年各月必亏损

代码例如以下:

#include <iostream>using namespace std;int main(){	int s, d, flag;	while(cin>>s>>d)	{		int sum = 0;		flag = 0;		if(0<=s && s<(1.0/4)*d)		{			sum = 10*s - 2*d;		}		else if((1.0/4)*d<=s && s<(2.0/3)*d)		{			sum = 8*s-4*d;		}		else if((2.0/3)*d<=s && s<(3.0/2)*d)		{			sum = 6*s-6*d;		}		else if((3.0/2)*d<=s && s<4*d)		{			sum = 3*s-9*d;		}		else if(4*d <= s)		{			flag = 1;		}		if( sum < 0)			flag = 1;		if(flag)			cout<<"Deficit"<<endl;		else			cout<<sum<<endl;	}	return 0;}

                    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118906.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 光纤交换机划分zone图解

    光纤交换机划分zone图解 HP光纤存储交换机 用户:admin出厂密码:password出厂IP:10.77.77.77 用串口连上交换机,help查出可用的命令IpaddrShow 命令查看IP地址,然后用IE浏览器输入http://10.77.77.77登陆交换机。   划分ZONE点击左下角图标  输入用户admin密码password,进入

  • iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁

    iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁iOS13越狱:越狱后如何安装AppSync和afc2越狱补丁?本文件转载自:https://news.tongbu.com/98644.html文章概要:越狱后必须安装的补丁:AppSync和afc2。越狱后如何安装AppSync和afc2越狱补丁?越狱虽然成功了,但如果不安装Appsync和afc2这两个重要的补丁,就无法享受越狱的功能哦。请按照如下教程提示,分别安装着这2个重要补丁。越狱教程:《iOS13越狱教程:unc0ver5.2.0更新发布,支持iOS13.5..

  • 检索com类工厂中的组件失败_检索com类工厂的组件失败

    检索com类工厂中的组件失败_检索com类工厂的组件失败出现以下错误:检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件失败,原因是出现以下错误:8000401a因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。(异常来自HRESULT:0x8000401A)。解决方案:1.开始-dcomcnfg,启动组件服务。2.找到Micro

  • ideal激活码(最新序列号破解)

    ideal激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • gcc命令的常用选项_curl常用命令及参数

    gcc命令的常用选项_curl常用命令及参数gcc是GUNC和C++编译器,我们通常使用GCC时,编译器会依次做如下工作:preprocess(预处理),compilation(编译),assembly(汇编),link(链接)。gcc提供了一些选项参数能够让编译器停在某个过程(如编译过程)。

    2022年10月13日
  • IntelliJ IDEA 可以使用中文了「建议收藏」

    IntelliJ IDEA 可以使用中文了「建议收藏」1.前言今天IntelliJIdea2020.1正式发布了!最大的一个亮点莫过于开始支持中文了。相信很多英语不好的同学已经期盼已久了。但是感觉登录界面感觉变丑了!建议把文章看完再去升级。2.汉化体验先来看看我的效果,首先要告诉你这是官方汉化包,并不是第三方!我大致看了一圈,个别还没有汉化完毕,可能没有找到合适的描述词汇吧,但是绝大部分已经完成了。这下很多同学可以更方便使…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号