题目比较难懂
对于每一个月来说,是盈利如果则盈利S,如果亏空则亏d。 每五个月进行一次统计,共统计八次(1-5月一次,2-6月一次.......) 统计的结果是这八次都是亏空。 问题:判断全年是否能盈利,如果能则求出最大的盈利。 如果不能盈利则输出Deficit
明白题目后1A了
这道题用贪心法解,其实也很容易想到,首先用一个数组记录每个月的盈亏,初始化全部为s,又每五个月统计一次一共统计8次, 所以扫描8次,每次求出五个月的和,如果大于等于0 则从后往前将一个月由s改为d(一定要从后往前,想想为什么)。
代码如下
#include "iostream" using namespace std; int ans[13]; int getsum(int i) { return ans[i]+ans[i+1]+ans[i+2]+ans[i+3]+ans[i+4]; } int main() { int s,d; while(scanf("%d %d",&s,&d)!=EOF) { int i; for (i=1;i<=12;i++) { ans[i]=s; } for (i=1;i<=8;i++)//1-5 2-6 ....... 8-12 一共8组 { int sum=0; sum=getsum(i); for (int j=i+4;j>=i;j--) { if (sum>=0) { ans[j]=-d; } else break; sum=getsum(i); } } int t=0; for (i=1;i<=12;i++) { t+=ans[i]; } if (t<0) printf("Deficit\n"); else printf("%d\n",t); } return 0; }
相关推荐
北大POJ2586-Y2K Accounting Bug 解题报告+AC代码
北大POJ2002-Squares 解题报告+AC代码
北大POJ3253-POJ3253-Fence Repair【STL优先队列】 解题报告+AC代码
poj 1000 - 2000 部分题目 官方分类 poj 1000 - 2000 部分题目 官方分类
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ3020-Antenna Placement 解题报告+AC代码
这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q
POJ3211--Washing Clothes
北大POJ3414-Pots 解题报告+AC代码
北大POJ2305-Basic remains POJ2305-Basic remains
北大POJ1321-Chess Problem POJ1321-Chess Problem
北大POJ1080-Human Gene Functions POJ1080-Human Gene Functions
北大POJ1159-Palindrome 解题报告+AC代码
poj 1000-3000部分代码 网上收集
POJ---1456.Supermarket测试数据及答案,题目描述:A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral ...
北大POJ1258-Agri-Net【Prim】 解题报告+AC代码
北大POJ1159-Palindrome
北大POJ1837-Balance
北大POJ2503-Babelfish 解题报告+AC代码
北大POJ1201-Intervals 解题报告+AC代码