ブルーブリッジカップ前の質問の質問白ポーター

ブルーブリッジカップ前の質問の質問白ポーター

偉大な詩人李白、そして彼の良い飲み物の言葉。幸いなことに、彼は運転したことはありません。

ある日、彼は水差しワインバケット2に、家の外に、水差しを搭載しました。文字列の彼の生命:

路上でどんなにウォーキングは、ワインを再生するために鍋を入れていません。
すべての店が倍増し、ケースはドリンクバケツを取りました。

途中で、彼は花は、最後の既知の出会いを過ごした、10回に遭遇した彼はただ酒を飲んで、5店舗の合計に会いました。

してください仕事ショップと会った李白の順序の花は、あなたがの場合として記録保存することができ、イベントはと表さBを取りました。その後:babaabbabbabbbbは、合理的な順序です。このような答えは、それをどのくらいの合計?(指定されたタイトルを含む)すべての可能なオプションの数をうまくしてください。

注:ブラウザを介してあなたの答えを提出します。答えは整数です。余分なコンテンツを書いてはいけません。

対象深さ優先探索、出会いの花の最後の時間は、第九フラゴンは、次のDoujiuを残しました。
遭遇酒屋、F( - 1、B 、C * 2)
に遭遇花、F(A、B - 1 、C - 1)

#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <algorithm>
int sum = 0;
void F(int a,int b, int c)//a->还需要遇到的店铺数 , b->还需要遇到的花的数目, c->酒壶里剩下的酒数 
{
	if (a == 0 && b == 0 && c == 1)//到第九次的限制条件
	{
		sum++;
	}
	if (a > 0)
	{
		F(a - 1, b, c * 2);//遇到酒铺
	}
	if (b > 0)
	{
		F(a, b - 1, c - 1);//遇到花
	}
} 
int main()
{
	F(5, 9, 2);
	cout << sum;
	return 0;
}

おすすめ

転載: blog.csdn.net/qq_44410340/article/details/104944411