OCAC夏第二試合は、私が問題にブドウのワインカップ月光ソリューションを疑問視

カップブドウのワイン月光
オリジナルタイトルリンクします。http://codeforces.com/problemset/problem/1114/A
[タイトル]説明
ブドウのワインマジックカップ、すぐに琵琶リマインダーを飲みたいです。
Zuiwo戦場6月Moの笑い、古代の遠征少数の人々バック?
詩の詩!しかし、今日この質問は、そこには月明かりカップではありませんが、ブドウについては、ワインを何の関係もありません。
このブドウを言って......
緑のブドウ、紫ブドウと黒ブドウ:簡単にするために、我々は今だけ3ブドウ品種と仮定します。
李白、杜甫と王先生3は、しかし、彼らはブドウの味が、同じではない、ブドウの愛好家でした。それらのすべての3つを幸せにするために、あなたは以下の条件を満たしている必要があります
1、李白は、少なくともXブドウを食べる必要がある、杜甫は、少なくとも、少なくとも王先生は、zブドウを食べる必要がある、yのブドウを食べる必要がある;
2、緑のブドウのための李白は特別なを持っています習慣ので、彼が唯一の緑のブドウを食べる;
3、ドゥは、黒ブドウを好きではなかったので、彼は黒ブドウを食べていないだろう。
彼はブドウを食べる4、王先生の寛大さ、。
彼は共通の友人をSA -白-彼らはブドウのパーティーを報告することを決めたとき、彼らはブドウのとても好きです学んで。
彼は、歯グリーンブドウ、B歯ブドウ、ブドウ黒色粒子およびcを含むブドウの箱を用意しました。
しかし、ポーチュー、彼は彼の3人の友達を作るためにブドウのこのボックスを用意したかどうかわからないが幸せでした。
3人は、配布計画に満足してみましょうする方法があるかどうかを判断に役立つように頼みます。
注意:あなたの目的は、彼らがブドウに満足しているように、三人の友に割り当てられているが、必ずしもブドウの分配ボックスを完了する必要はありません。
[入力形式]
最初の行は、三つの入力整数x、y、zの含有(1 < =のX、Y、Zを<= 10 ^ 5)、 杜甫王先生の数を表すために使用され、少なくともブドウを食べています。
入力の2行目は三つの整数、B、C(1 <含ま = A、B、C <= ^ 5 10)、 グリーンブドウ、黒ブドウ及びブドウの数を表すために使用されます。
[出力形式]
3人が「YES」、出力ブドウの割り当てに満足してそこに聞かせた場合は、そうでない場合、出力は「NO」。
サンプル入力[1]
1 2 6
4 3 3。
[1]サンプル出力
YES
[2]サンプル入力
5 1。
4 3 2。
[2]サンプル出力
NO
[分析]
本発明の方法は、質問に関する:貪欲。
まず、李白は緑のブドウを食べているので。; = xで-配慮するので、白は「NO」、それが持っていた点に分、緑のブドウの部分をxはならない
第二に、フーは黒ブドウを食べる、緑ブドウ及びブドウの残り数が満たすこと+ B> = Y;
同時に、王はまた、ブドウzを食べる教師を忘れてはいけません。
したがって、教師と王FUの総数がブドウを食べるだけでなく、条件満たすために:+ B + C> = Y + Zを。
次のようにコードは次のとおりです。

#include <ビット/ STDC ++ H> 
名前空間STDを使用して、

INT X、Y、Z、A、B、C。

BOOLチェック(){ 
    (<X)falseを返す場合。
    A - = xと; 
    (A + B <y)がfalseを返す場合。
    (A + B + C <Y + Z)がfalseを返す場合。
    trueを返します。
} 

int型のmain(){ 
    CIN >> X >> Y >> Z >> A >> B >> C。
    プット(チェック() "YES": "NO");?
    0を返します。
}

 

おすすめ

転載: www.cnblogs.com/ocac/p/11131668.html