第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;
}