Y2K Accounting Bug(poj2586)
生活随笔
收集整理的這篇文章主要介紹了
Y2K Accounting Bug(poj2586)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:?有一個公司由于某個病毒使公司贏虧數據丟失,但該公司每月的?贏虧是一個定數,要么一個月贏利s,要么一月虧d。現在ACM只知道該公司每五個月有一個贏虧報表,而且每次報表贏利情況都為虧。在一年中這樣的報表總共有8次(1到5,2到6,…,8到12),現在要編一個程序確定當贏s和虧d給出,并滿足每張報表為虧的情況下,全年公司最高可贏利多少,若存在,則輸出多多額,若不存在,輸出"Deficit"。 ? 分析: 在保證連續5個月都虧損的前提下,使得每5個月中虧損的月數最少。 ? ? ? ? ? ? ??x=1: ?ssssd,ssssd,ss ? ?d>4s ? ? 贏利10個月 ?10s-2d
????????????? x=2: ?sssdd,sssdd,ss ? ?2d>3s ? ?贏利8個月 ? ? 8s-4d
????????????? x=3: ?ssddd,ssddd,ss ? ?3d>2s ? ?贏利6個月 ? ? 6s-6d?
????????????? x=4: ?sdddd,sdddd,sd ? ?4d>s ? ? 贏利3個月 ? ? 3s-9d
????????????? x=5: ?ddddd,ddddd,dd ? ?4d<s ? ? 無贏利
#include <stdio.h> #include <string.h> int main() { long long s,d,sum; while (scanf("%lld%lld",&s,&d)!=EOF) { sum=0; if(d>4*s) sum=10*s-2*d; else if(2*d>3*s) sum=8*s-4*d; else if(3*d>2*s) sum=6*s-6*d; else if(4*d>s) sum=3*s-9*d; else sum=-1; if (sum<0) printf ("Deficit\n"); else printf ("%lld\n",sum); } return 0; }
????????????? x=2: ?sssdd,sssdd,ss ? ?2d>3s ? ?贏利8個月 ? ? 8s-4d
????????????? x=3: ?ssddd,ssddd,ss ? ?3d>2s ? ?贏利6個月 ? ? 6s-6d?
????????????? x=4: ?sdddd,sdddd,sd ? ?4d>s ? ? 贏利3個月 ? ? 3s-9d
????????????? x=5: ?ddddd,ddddd,dd ? ?4d<s ? ? 無贏利
?
#include <stdio.h> #include <string.h> int main() { long long s,d,sum; while (scanf("%lld%lld",&s,&d)!=EOF) { sum=0; if(d>4*s) sum=10*s-2*d; else if(2*d>3*s) sum=8*s-4*d; else if(3*d>2*s) sum=6*s-6*d; else if(4*d>s) sum=3*s-9*d; else sum=-1; if (sum<0) printf ("Deficit\n"); else printf ("%lld\n",sum); } return 0; }
轉載于:https://www.cnblogs.com/zhangmingcheng/p/3794618.html
總結
以上是生活随笔為你收集整理的Y2K Accounting Bug(poj2586)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2015/8/18 Python基本使用
- 下一篇: 自定义JPA之AttributeConv