博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1018 Communication System_贪心
阅读量:4654 次
发布时间:2019-06-09

本文共 899 字,大约阅读时间需要 2 分钟。

题意:给你n个厂,每个厂有m个产品,产品有B(带宽),P(价格),现在要你求最大的 B/P

明显是枚举,当P大于一定值,B/P为零,可以用这个剪枝

#include 
#include
#include
using namespace std;#define N 110#define INF 0xffffffint devb[N][N],devp[N][N];int b[N*100],tb;int main(int argc, char** argv) { int n,mi[N],i,j,t; int blen,minprice,sum,minb,maxb,curb; double dmax,tvalue; scanf("%d",&t); while(t--){ scanf("%d",&n); blen=0; for(i=0;i
=devb[i][j]) minb=devb[i][j]; if(maxb<=devb[i][j]) maxb=devb[i][j]; } } dmax=0; for(tb=minb;tb<=maxb;tb++){ sum=0; curb=INF; for(i=0;i
=tb&&devp[i][j]
devb[i][j]) curb=devb[i][j]; } } if(minprice==INF) break; sum+=minprice; } if(i==n){ tvalue=(double)curb/sum; if(tvalue>dmax) dmax=tvalue; tb=curb+1; }else break; } printf("%.3f\n",dmax); } return 0;}

转载于:https://www.cnblogs.com/neng18/p/3676444.html

你可能感兴趣的文章