注:fjutoj基本每周都有一次周赛,欢迎大家都来参加!

网址:http://59.77.139.92/ 或 acm.fjut.edu.cn

 

A题

题意:一年中,每个月有可能亏x 元,有可能赚y 元,每连续的五个月加起来都亏钱,问一年最多赚多少钱,如果不能赚钱,输出"Deficit"。

思路:

  贪心的思路,五个月中亏钱的月份放后面去,并且使得五个月加起来亏钱最少,因此共有4种情况:

  x y y y y x y y y y x y

  x x y y y x x y y y x x

  x x x y y x x x y y x x

  x x x x y x x x x y x x

  用if判断一下即可

 

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 #include<math.h>
 5 #include<set>
 6 #include<map>
 7 #include<list>
 8 #include<stack>
 9 #include<queue>
10 #include<vector>
11 #include<string>
12 #include<iostream>
13 #include<algorithm>
14 using namespace std;
15 #define lson rt<<1
16 #define rson rt<<1|1
17 #define N 100010
18 #define M 100010
19 #define Mod 1000000007
20 #define LL long long
21 #define INF 0x7fffffff
22 #define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++)
23 #define For(i,f_start,f_end) for(int i=f_start;i<f_end;i++)
24 #define REP(i,f_end,f_start) for(int i=f_end;i>=f_start;i--)
25 #define Rep(i,f_end,f_start) for(int i=f_end;i>f_start;i--)
26 #define MT(x,i) memset(x,i,sizeof(x))
27 #define gcd(x,y) __gcd(x,y)
28 const double PI = acos(-1);
29 
30 int main()
31 {
32   int x,y;
33   while(scanf("%d%d",&x,&y)!=EOF)
34   {
35     if(x>=4*y) printf("Deficit\n");
36     else if(2*x>3*y)
37     {
38       if(3*x<=9*y) printf("Deficit\n");
39       else printf("%d\n",3*x-9*y);
40     }
41     else if(3*x>=2*y)
42     {
43       if(6*x<=6*y) printf("Deficit\n");
44       else printf("%d\n",6*x-6*y);
45     }
46     else if(4*x>=y)
47     {
48       if(8*x<=4*y) printf("Deficit\n");
49       else printf("%d\n",8*x-4*y);
50     }
51     else
52     {
53       if(10*x<=2*y) printf("Deficit\n");
54       else printf("%d\n",10*x-2*y);
55     }
56   }
57   return 0;
58 }
A题AC代码

相关文章: