第II章マシンのテストガイド - 古典を取得する - 自己貪欲例

例2.11  FatMouseの貿易

問題解決のためのアイデア

貪欲な戦略。必ずアイテムが購入されるまでのコスト(すなわち、価格重量比)アップアイテムに残っているアイテムを購入したり、お金がなくなりました。アイテムが購入された場合、我々は残りの項目に費用対効果の高いアイテムを探し続け

ACコード

#include <cstdioを> 
する#include <CStringの> 
する#include <iostreamの> 
する#include <アルゴリズム>
 使用して 名前空間STDを、

構造体シング
{ 
    ダブルJ。
    ダブルF;
    ダブル S; // 性价比 
} T [ 1000年]。

BOOL CMP(シング、シングB)
{ 
    リターンとして> BS。
} 

int型のmain()
{ 
    ダブルM。
    int型のn;
    一方、(scanf関数(" %のLF%dの"、&​​M、&N)!=EOF)
    { 
        場合(M == - 1 && N == - 1ブレーク以下のためにint型 i = 0 ; iがn <I ++の
        { 
            scanf関数(" %のLFの%のLF "、&​​T [i]は.J&Tを[I] .F)。
            T [i]は.Sの = tの[I] .J / T [i]は.F。
        } 
        ソート(T、T + N、CMP)。
        INTの ID = 0 ダブルのANS = 0 ;
        一方、(M> 0 && ID < N)
        { 
            場合(M> T [ID] .F)
            { 
                ANS + = T [ID] .J。
                M - = T [ID] .F。
            } 
            
            { 
                ANS + = T [ID] .J * M / T [ID] .F。
                M = 0 
            } 
            ID ++ 
        } 
        のprintf(" %.3lfする\ n " 、ANS)。
    } 
    // システム( "休止")。
    リターン 0 ; 
}

例2.12 ACなしでこの夏

問題解決のためのアイデア 

xの選択(X> = 1)プログラムでは、番組を見て前にX-1の後に選択する必要があります終了し、あなたは、これは私たちが貪欲戦略探しているもので、最初のプログラムの終了時に他のプログラムをすべて見ることができます。プログラムが選択されるたびに、この貪欲な戦略の一定の使用は、我々は、最適なソリューションを解決終えることができます。 

ACコード

#include <cstdioを> 
する#include <CStringの> 
する#include <iostreamの> 
する#include <アルゴリズム>
 使用して 名前空間STDを、

構造体シング
{ 
    INT BEG。
    int型エンド。
} T [ 100 ]。

ブールCMP(シング、シングB)
{ 
    戻り a.end < b.end。
} 

int型のmain()
{ 
    int型N;
    一方、(scanf関数(" %のD "、&​​N)!= EOF)
    { 
        場合(N == 0休憩;
        以下のためにint型私= 0 ; iがN <; I ++)はscanf関数(" %D%D "、&​​T [i]は.beg、&T [i]の.END)。
        ソート(T、T + N、CMP)。
        int型 CUR = 0、ANS = 0 ; // 当前时间和节目总数
        ためint型 i = 0 ; iがn <; iは++ 
        { 
            場合(CUR <= T [i]が.beg)
            { 
                CUR = T [i]は.END。
                ANS ++ ; 
            } 
        } 
        のprintf(" %Dを\ n " 、ANS)。
    } 
    // システム( "休止")。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/yun-an/p/11129460.html