PKU 1018 Communication System

来源:互联网 发布:mac 查看安装的程序 编辑:程序博客网 时间:2024/05/17 05:01

牢记牢记

double型的输入输出形式如下:


double a;
scanf("%lf",&a);
printf("%f",a);

用%lf输出不对!不对!不对!!


要求有两个变量的函数的最值,需要固定住一个去求另一个!

本题用dfs穷举会超时(如果剪枝剪的好可能也不会超?==)

#include<stdio.h>#include<string.h>#define MAX 110int bi[MAX][MAX],pi[MAX][MAX];int mi[MAX],flag;double bp;int findp(int curi, int b){int i,j,tmp = 0xffff;for(i=0; i<mi[curi];i++){if(bi[curi][i] >= b && pi[curi][i] <tmp){if(bi[curi][i]==b) flag = 1;tmp = pi[curi][i];}}return tmp;}int main(){int t,n,i,j,k,bmin,bmax,b,p;double bp;scanf("%d",&t);while(t--){bp =0;bmin = 0xffff;bmax = 0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&mi[i]);for(j=0;j<mi[i];j++){scanf("%d%d",&bi[i][j],&pi[i][j]);bmin = (bi[i][j]<bmin)? bi[i][j]: bmin;bmax = (bi[i][j]>bmax)? bi[i][j]: bmax; }}for(k = bmin; k <= bmax; k++){p =0;flag = 0;for(i=0;i<n;i++){p+= findp(i, k);}if(flag) bp = (double)k/p > bp? (double)k/p: bp;}printf("%.3f\n",bp);}return 0;}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 洗完纹身的样子 纹身多长时间能洗 怎么洗小纹身 洗完纹身要注意什么 纹身可以洗吗 纹身能洗掉嘛 纹身怎样才洗的掉 纹身能洗掉不 纹身要洗几次 纹身几次能洗干净 纹身可以洗 彩色纹身洗的掉吗 洗黑色纹身多少钱 纹身洗得掉吗 黑色纹身好洗吗 纹身难洗 什么方法去纹身 刚纹的纹身多久能去洗 纹身能一次性洗掉吗 为什么彩色纹身洗不掉 纹身洗的掉不 纹身洗的掉么 有没有洗不掉的纹身 彩色纹身要怎么洗掉 彩色纹身怎么洗掉 纹身怎样可以洗掉 纹身去哪洗 纹身后可以洗吗 纹身后能洗掉吗 纹身一般洗几次 洗黑色纹身 纹身多久才能洗 洗过的纹身是什么样的 洗一次纹身要多少钱 新纹的纹身多久可以洗 彩色纹身能洗掉么 洗后的纹身 纹身多久洗一次 纹身能不能洗 纹身洗完后的图片 纹身能洗不