POJ1018

// 2つの変数があるPOJ 1018(DP)は、再び別の変数(重要)を探しているエッジの一定量とすることができる 
の#include <iostreamの> 
する#include <cstdioを> 
する#include <アルゴリズム> 
の#include <CStringの>
 に#define INFを(0x3f3f3f3f)
 使用して 名前空間STDを、
 int型 [DPを115 ] [ 1200 ]; // 最低価格jの帯域幅i番目のデバイスの前に
INT )(主
{ 
    INT T、N-、M; CIN >> T;
     一方、(T- - 
    { 
        memsetの(DP、INF、はsizeof (DP));
         int型のB、P、
        CIN >> N-。
        以下のためにint型 i = 1 ; iは= N <; ++ I)
        { 
            CIN >> M。
            一方、(M-- 
            { 
                CIN >> B >> P。
                もし(I == 1 
                    DP [ 1 ] [B] =分(DP [ 1 ]、[B]、P)。
                他の{
                     のためのint型 J = 0 ; J =!1200 ; ++ J)
                    { // 对于每一个带宽
                        場合(DP [I-1 ] [J]!= INF)// 層最小帯域幅値を有する場合
                        、{
                             IF(J <= B)
                                DP [I] [J] =分(DP [I]、[J]、DP [I - 1 ] [J] + P);
                             他の
                                DP [I] [B] =分(DP [I]、[B]、DP [I- 1 ] [J] + P); 
                        } 
                    } 
                } 
            } 
        } 
        ダブル maxValueの= 0 ;
         のためint型 I = 0を I =;!1200; ++ I)
        { 
            ダブル TMP =(ダブル)I / DP [n]は[I]。
            maxValueの = MAX(maxValueの、TMP)。
        } 
        のprintf(" %.3lfする\ n " 、maxValueの)。
    } 
}

 

おすすめ

転載: www.cnblogs.com/newstartCY/p/11518930.html