アルゴリズム体操--- 5-3のカードゲーム(UVa10935)

:タイトル

Nカード、1-与えられたシーケンス番号n、その後、カードを捨て、カードが最終的に出し、この操作は、1枚のカードだけになるまで繰り返されます。

カードのシリアル番号と最後の残りのカードを捨てるための要求。

(A)サンプル入力

7枚の//カードから1-7番号
19に1から番号19枚の//カード
10 
6 
0

(B)サンプル出力

廃棄カード:135742 
残りのカード:6枚の
捨てカード:1357911131517194812162101814 
残りのカード:6枚の
廃棄カード:1357926108 
残りのカード:4枚の
廃棄カード:13526 
残りのカード:4

2:コードの実装

#define _CRT_SECURE_NO_WARNINGS 
する#include <iostreamの> 
の#include <キュー> 使用して名前空間はstdを、#define MAX_N 15 INT main103()
{ 
    freopenは(" data5_3_h.in "" R " 、STDIN)。
    freopenは(" data5_3_h.out "" W " 、STDOUT)。int型NUM、first_ele。
    しばらく(!CIN >> NUM && NUM = 0 
    { キュー <整数>カード。
        

 





    
       フラグ= ;
        以下のためにint型 I = 1 ; I <= NUM iは++ 
            card.push(i)を、
        裁判所未満 << 捨てられたカード:;
        一方、(!card.size()= 1 
        { 
            場合(!フラグ)
            { 
                COUT << card.front()。
                もし(!card.size()= 2 
                    COUT << " " ; 
            } 
            
                card.push(card.front())。
            card.pop(); 
            フラグ =!国旗; 
        } 
        coutの << " \のnRemainingカード:" << card.front()<< てendl; 
    } 

    freopenは(" CON "" R " 、STDIN)。
    freopenは(" CON "" W " 、STDOUT)。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/ssyfj/p/11539576.html