problem

GPA Accepts: 1554 Submissions: 3947
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Problem Description
小沃沃一共参加了 4 门考试,每门考试满分 100 分,最低 0 分,分数是整数。

给定四门考试的总分,请问在最优情况下,四门课绩点的和最高是多少?

分数与绩点之间的对应关系如下:

95~100 4.3

90~94 4.0

85~89 3.7

80~84 3.3

75~79 3.0

70~74 2.7

67~69 2.3

65~66 2.0

62~64 1.7

60~61 1.0

0~59 0

Input
第一行一个正整数 test(1 \le test \le 401)test(1≤test≤401) 表示数据组数。 接下来 testtest 行,每行一个正整数 xx 表示四门考试的总分 (0 \le x \le 400)(0≤x≤400)。

Output
对于每组数据,一行一个数表示答案。答案保留一位小数。

Sample Input
2
0
400
Sample Output
0.0
17.2

solution

  • 直接一直没时间贴出来,就忘记了qwq,补一张。
  • 考虑分数多了没有意义,所以都是卡临界值
  • 所以答案的话直接深搜就好啦。。分配四门成绩,
  • (以及GPA小数太麻烦的话可以用整数最后再统一除)
#include<iostream>
#include<algorithm>
using namespace std;int score[] = {0,60,62,65,67,70,75,80,85,90,95,500};
int GPA[] = {0,10,17,20,23,27,30,33,37,40,43,-1000};int dfs(int x, int step){if(step == 1){if(x>=95)return 43;if(x>=90)return 40;if(x>=85)return 37;if(x>=80)return 33;if(x>=75)return 30;if(x>=70)return 27;if(x>=67)return 23;if(x>=65)return 20;if(x>=62)return 17;if(x>=60)return 10;return 0;}int ans = 0;for(int i = 1; score[i] <= x; i++){ans = max(ans, GPA[i]+dfs(x-score[i],step-1));}return ans;
}int main(){int t, x;  cin>>t;while(t--){cin>>x;int ans = dfs(x,4);cout<<ans/10<<"."<<ans%10<<"\n";}return 0;
}

2020 年百度之星·程序设计大赛 - 初赛一 GPA DFS深搜相关推荐

  1. 2020 年百度之星·程序设计大赛 - 初赛一 Civilization BFS广搜

    problem Civilization Accepts: 619 Submissions: 2182 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...

  2. 2020年百度之星·程序设计大赛-初赛一

    Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...

  3. 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理

    problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...

  4. 2020 年百度之星·程序设计大赛 - 初赛一 Drink

    Problem Description 我们有 nn 种不同的饮料,每种饮料有无限多瓶,第 ii 种饮料一瓶提供 x[i]x[i] 毫升的水分,包含 y[i]y[i] 卡路里. 现在我们需要选择一种饮 ...

  5. 2020 年百度之星程序设计大赛 - 初赛二

    Poker Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Subm ...

  6. 2020 年百度之星·程序设计大赛 - 初赛一题解

    Drink 对于每一种饮料,都可以算出最少需要多少瓶,从而知道最少摄入多少卡路里,从中找个最优值. #include <iostream> #include <cstdio>u ...

  7. 1001. Poker (思维 / 模拟)(2020年百度之星*程序设计大赛-初赛二)

    传送门 思路: 嗐,又是这种模拟题,每次都不长记性看数据范围,非得傻傻的去循环模拟T一次才知道思考.呜呜呜太菜了. 既然每次至少拿出m,且求的是最多次数,那我们每次就拿m出来. 先将m * p%上取整 ...

  8. 2020年百度之星·程序设计大赛 - 初赛一(前三题)

    文章目录 Drink[贪心] 题目描述 测试样例 解题思路 赛时AC代码 赛后优化AC代码 总结: GPA[枚举] 题目描述 测试样例 解题思路 赛时WA代码 赛时AC代码 总结: Dec[反向dp+ ...

  9. 2020 年百度之星·程序设计大赛 - 初赛三-Discount

    Discount Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...

最新文章

  1. 深度学习三大谜团:集成、知识蒸馏和自蒸馏
  2. gentoo doc web site
  3. C#进阶系列——AOP?AOP!
  4. 天线下倾角示意图_《天线和下倾角.ppt
  5. 23种设计模式(二十三)行为变化之访问器
  6. 机器学习之BP算法推导
  7. linux系统微信怎么放桌面上,Linux 安装微信/QQ
  8. GitHub clone: clone succeeded, but checked failed
  9. java lifo_java:stack栈: Stack 类表示后进先出(LIFO)的对象堆栈
  10. 删除桌面计算机,桌面上的图标删不掉怎么办【解决方法】
  11. 【遇到的问题】VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。
  12. 51单片机汇编密码锁(可修改密码,课程设计,含论文)!(大三上)
  13. 【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构
  14. linux键盘符号错乱,Ubuntu14.04 键盘错位小问题
  15. SpringBoot日志文件
  16. 注册表编辑器被改这样恢复
  17. 数据永久保存?有人要把资料存月球上
  18. 第二类换元法三角代换专项训练
  19. 2012美国大选献金项目数据分析
  20. 华中数控 Hnc 数据采集实战

热门文章

  1. 数字电路基本概念 —— fan-in/fan-out
  2. 图与图算法在实际中的应用
  3. 问题及解决 —— 浏览器问题
  4. Linux 命令行编辑快捷键
  5. 极简代码(一)—— 精确率和错误率的计算
  6. Python 2.x vs Python 3(三)
  7. 常用html标签 —— 链接的颜色
  8. 3.5!——阶乘的插值(python)
  9. oracle11 rman,oracle11g rman备份文件失踪之谜
  10. python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...