zoukankan      html  css  js  c++  java
  • POJ 1018 Communication System

    //此题是DP问题,可是我一直没有想出公式
    //组后只能根据带宽来枚举,再采用贪心策略

    #include<iostream>
    using namespace std;

    int main()
    {
        
    int a[101][202],num[101],n,i,j,k,h,temp,tt;
        
    int minb,minp,sump;
        
    float bp,max;
        cin
    >>tt;
        
    while(tt--)
        {
            max
    =0;
            scanf(
    "%d",&n);
            
    for(i=0;i<n;++i)
            {
                scanf(
    "%d",&num[i]);
                
    for(j=0;j<num[i];++j)
                    scanf(
    "%d%d",&a[i][j],&a[i][j+100]);
            }
            
    for(i=0;i<n;++i)
                
    for(j=0;j<num[i];++j)
                {
                    minb
    =a[i][j];
                    sump
    =a[i][j+100];
                    
    for(k=0;k<n;++k)
                    {
                        
    if(k==i) continue;
                        minp
    =100000;
                        
    for(h=0;h<num[k];++h)
                            
    if(a[k][h]>=minb&&minp>a[k][h+100])
                                minp
    =a[k][h+100];
                        sump
    +=minp;
                        
    if(minp==100000)
                            
    break;
                    }
                    
    if(minp==100000break;
                    bp
    =float(minb)/sump;
                    
    if(bp>max) max=bp;
                }
                printf(
    "%.3f\n",max);
        }
        
        
    return 1;
    }
  • 相关阅读:
    VBA Exit Do语句
    VBA Exit For语句
    VBA Do...While循环
    VBA While Wend循环
    VBA For Each循环
    VBA for循环
    sqoop 教案
    Hbase 取数据 和放数据 使用mr
    Hbase 四种过滤器
    Hbase java API 的方法
  • 原文地址:https://www.cnblogs.com/lvpengms/p/1662765.html
Copyright © 2011-2022 走看看