2020 年百度之星·程序设计大赛 - 初赛一 GPA DFS深搜
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深搜相关推荐
- 2020 年百度之星·程序设计大赛 - 初赛一 Civilization BFS广搜
problem Civilization Accepts: 619 Submissions: 2182 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...
- 2020年百度之星·程序设计大赛-初赛一
Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理
problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Drink
Problem Description 我们有 nn 种不同的饮料,每种饮料有无限多瓶,第 ii 种饮料一瓶提供 x[i]x[i] 毫升的水分,包含 y[i]y[i] 卡路里. 现在我们需要选择一种饮 ...
- 2020 年百度之星程序设计大赛 - 初赛二
Poker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
- 2020 年百度之星·程序设计大赛 - 初赛一题解
Drink 对于每一种饮料,都可以算出最少需要多少瓶,从而知道最少摄入多少卡路里,从中找个最优值. #include <iostream> #include <cstdio>u ...
- 1001. Poker (思维 / 模拟)(2020年百度之星*程序设计大赛-初赛二)
传送门 思路: 嗐,又是这种模拟题,每次都不长记性看数据范围,非得傻傻的去循环模拟T一次才知道思考.呜呜呜太菜了. 既然每次至少拿出m,且求的是最多次数,那我们每次就拿m出来. 先将m * p%上取整 ...
- 2020年百度之星·程序设计大赛 - 初赛一(前三题)
文章目录 Drink[贪心] 题目描述 测试样例 解题思路 赛时AC代码 赛后优化AC代码 总结: GPA[枚举] 题目描述 测试样例 解题思路 赛时WA代码 赛时AC代码 总结: Dec[反向dp+ ...
- 2020 年百度之星·程序设计大赛 - 初赛三-Discount
Discount Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
最新文章
- 深度学习三大谜团:集成、知识蒸馏和自蒸馏
- gentoo doc web site
- C#进阶系列——AOP?AOP!
- 天线下倾角示意图_《天线和下倾角.ppt
- 23种设计模式(二十三)行为变化之访问器
- 机器学习之BP算法推导
- linux系统微信怎么放桌面上,Linux 安装微信/QQ
- GitHub clone: clone succeeded, but checked failed
- java lifo_java:stack栈: Stack 类表示后进先出(LIFO)的对象堆栈
- 删除桌面计算机,桌面上的图标删不掉怎么办【解决方法】
- 【遇到的问题】VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。
- 51单片机汇编密码锁(可修改密码,课程设计,含论文)!(大三上)
- 【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构
- linux键盘符号错乱,Ubuntu14.04 键盘错位小问题
- SpringBoot日志文件
- 注册表编辑器被改这样恢复
- 数据永久保存?有人要把资料存月球上
- 第二类换元法三角代换专项训练
- 2012美国大选献金项目数据分析
- 华中数控 Hnc 数据采集实战