FZU 1685 跑跑卡丁车
2009-07-22 16:13
239 查看
跑跑卡丁车
解题:
今天做的其中两题,都被初始化给耽误了。以后要乖用sizeof()了。
这题先把两个数组大到小排序,然后处理。
Time Limit:1s | Memory limit:32M |
Accepted Submit:214 | Total Submit:586 |
cigam在宿舍闲着没事,又玩起了跑跑卡丁车,为了到达终点,他需要通过m段路,在通过每段路时,他可以利用加速器来加快速度,每段路最多只能使用一个加速器,假设一个加速器的加速效果为a,则本来需要用b分钟通过的一段路,就只需要b/a分钟通过,现在他拥有n个加速器,每个加速器只能使用一次,请你计算一下他至少需要多长的时间才能到达终点Input第一行有两个整数m和n (1<=n<=m<=1000),表示共有m段路程,n个加速器 第二行有m个整数ai(1<=i<=m),分别表示通过第i段路所需要的时间(1<=ai<=10000) 第三行有n个整数bi(1<=i<=n),分别表示第i个加速器的加速效果(2<=bi<=50)Output一个数代表他到达终点所需要的最少时间,精确到小数点后两位数Sample Input2 2 10 20 2 4 3 2 1 5 2 2 3 Sample output10.00 3.67 Original: FOJ月赛-2009年2月- LWX |
今天做的其中两题,都被初始化给耽误了。以后要乖用sizeof()了。
这题先把两个数组大到小排序,然后处理。
#include <iostream> #include <iomanip> using namespace std; void sort(int a[],int n) { int i,j; int k; for(i=1;i<n;i++) { k=a[i]; j=i-1; while(j>=0 && a[j]>k) { a[j+1]=a[j]; j--; } a[j+1]=k; } for (i=0;i<n/2;i++) { k=a[i]; a[i]=a[n-i-1]; a[n-i-1]=k; } } int main() { int m,n; double times=0.00; int a[1001]; int b[1001]; while (cin>>m>>n) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for (int i=0;i<m;i++) cin>>a[i]; for (int j=0;j<n;j++) cin>>b[j]; sort(a,m); sort(b,n); for (int k=0;k<m;k++) { if(b[k]>=2 && b[k]<=50) times+=1.00*a[k]/b[k]; else times+=1.00*a[k]; } cout<<fixed<<setprecision(2)<<times<<endl; times=0; } return 0; }
相关文章推荐
- FOJ 1685 跑跑卡丁车
- FOJ--1685--跑跑卡丁车--解题报告
- fzoj Problem 1685 跑跑卡丁车
- FZU11685 之 跑跑卡丁车
- fzu 2144 Shooting Game 区间覆盖贪心
- FZU 1015 土地划分(判断两条直线是否相交)
- FZU 2039 二分图
- 【FZU 2150】Fire Game(BFS)
- FZU 2107 Hua Rong Dao 轮廓线上的动态规划
- FZU 2195 检查站点
- FZU 2144 Shooting Game(计算几何)
- fzu1479 字符串编码
- FZU 1686 神龙的难题(DLX 重复覆盖)
- FZU Easy Game
- FZU 2216 The Longest Straight (二分)
- 平行四边形数 FZU 2231 简单的计算数学
- FZU 2231 平行四边形数(几何)(思维)
- FZU 2186 BFS+状压(类似TSP)
- FZU 2184 逆序数还原
- FZU - 2020 组合(逆元+卢卡斯)