Problem N Problem ID:1013
简单题意:MS公司每5个月公布一次这5个月的利润,也就是说这一年中共公布了8次(5月一次、6月一次····12月一次),且这8次恰好都是亏损。若12个月中,所有盈利的月份的盈利数额都相同且已知,所有亏损的月份的亏损数额也全部相同且已知,求全年总的盈利数额的最大值,如果不能盈利则输出Deficit。
解题思路形成过程:用s表示盈利,d表示亏损,则求盈利最大值共有5种可能情况:
①ssssdssssdss
②sssddsssddss
③ssdddssdddss
④sddddsddddsd
⑤dddddddddd:一定亏损
感想:看似符合条件的情况很多,静下心来,不要急躁,一点点的分析,最后问题不一定多么复杂。
问题比较简单,但题意比较难懂,英语水平高一点读题应该更容易些,注意提升自己的英语水平和英语题阅读能力。
代码:
#include<iostream> #include<stdio.h> using namespace std; int main(){ int m,n; while(scanf("%d%d",&m,&n)!=EOF) { if(4*m<n&&10*m-2*n>0) //ssssdssssdss cout<<10*m-2*n<<endl; else if(3*m<2*n&&8*m-4*n>0) //sssddsssddss cout<<8*m-4*n<<endl; else if(2*m<3*n&&6*m-6*n>0) //ssdddssdddss cout<<6*m-6*n<<endl; else if(m<4*n&&3*m-9*n>0) //sddddsddddsd cout<<3*m-9*n<<endl; else cout<<"Deficit"<<endl; } }