ブルーブリッジカップ全国大会準備DAY9

第9回ブルーブリッジカップグループBC ++全国大会の最初の質問:

タイトル:ゼロ紙幣を変更する

惑星Xの紙幣の金種は、100元、5元、2元、1元、合計4種類のみです。
Xiao MingはXStarに旅行しましたが、手に持っていた100元のX Starコインは2枚しかなく、不便でした。彼はたまたまX StarBankを通り過ぎて変更を変更しました。
シャオミンは少し強迫的で、200元の交換紙幣の2元の数は1元の数のちょうど10倍であり、
残りはもちろん5元の額面であると彼は主張します。

銀行のスタッフは少し恥ずかしいです、あなたは理解するのを手伝うことができます:シャオミンの要件を満たすことを前提として、少なくともいくつの紙幣を彼と交換する必要がありますか?
(0ではなく、5元、2元、1元の金額が利用可能である必要があります)

提出する必要があるのは整数であることに注意してください。余分なコンテンツは入力しないでください。

回答:74

/*

2张100元 用1元 2元 5元 去换零钱

①2元张数是1元的10倍

②最少总张数

*/

#include<iostream>

using namespace std;

int main(){
    
    
    for(int i=1;i<=500;i++){
    
    
        if((100-(i+i*20))%5==0){
    
    
            cout<<11*i+(200-(i+i*20))/5 <<endl;
            return 0;
        }
    }
    
    return 0;
}

第9回ブルーブリッジカップグループBC ++全国大会の2番目の質問:
タイトル:レーザースタイル

惑星Xの大祭では、大気を増進するために、30個の光学機器を並べて光を宇宙に放ちます。
インストールとデバッグ中に、何らかの理由で、隣接する2つのレーザーを同時にオンにできないことが発見されました。
王様は、この種のバグで現在いくつのレーザー効果を生み出すことができるか知りたいですか?

明らかに、マシンが3台しかない場合は、合計5つのスタイルがあります。つまり、
すべて閉じています(申し訳ありませんが、現時点では無音の方が音よりも優れています。これも1つのタイプです)
、合計3つのタイプ
、2つのマシン、 1種類のみ

30は十分ではありません、王はあなたに助けを求めなければなりません。

30個のレーザーで形成できるパターンの数を示すには整数が必要です。

整数のみを送信し、余分なコンテンツは入力しないでください。

回答:2178309

#include<iostream>

using namespace std;

const int N=31;

int v[N];

int res;

int judge(){
    
    
    int f=0;
    if(v[1]) f=1;
    for(int i=2;i<=3;i++){
    
    
    	//前一个亮 
        if(f){
    
    
        	// 这个亮 
        	if(v[i]){
    
    
        		return 0;		
        	}else{
    
    
        		f=0;
        	}			   	       
        }else{
    
    
        	if(v[i]){
    
    
        		f=1;
        	}else{
    
    
        		f=0;
        	}
        }      
    }
    return 1;
}

void dfs(int index){
    
    
	if(index==3){
    
    
       if(judge()){
    
         		
       		res++;
       } 
       return;
   }    
   dfs(index+1);
   v[index+1]=1;
   dfs(index+1);
   v[index+1]=0;
}

int main(){
    
    
    dfs(1);
    v[1]=1;
    dfs(1);
    cout<<res<<endl;
    return 0;
}

おすすめ

転載: blog.csdn.net/BOWWOB/article/details/109523421