欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

洛谷:P2089 烤鸡(搜索)

程序员文章站 2024-03-04 11:30:41
...

题目:

洛谷:P2089 烤鸡(搜索)

分析:最基本的搜索吧!

代码:

#include<bits/stdc++.h>
using namespace std;
int cnt[11];
int ans=0;
int m;
void f(int num,int rest)
{
 if((11-num)*2<rest) return;
 if(rest==0)
 {
  ans++;
  return ;
 }
 for(int i=0;i<=2;i++)
 {
  if(rest-i<0) break;
  f(num+1,rest-i);
 }
}
void f2(int num,int rest)
{
 if((11-num)*2<rest) return;
 if(rest==0)
 {
  for(int i=1;i<11;i++) cout<<cnt[i]+1<<' ';
  cout<<endl;
  return ;
 }
 for(int i=0;i<=2;i++)
 {
  if(rest-i<0) break;
  cnt[num]=i;
  f2(num+1,rest-i);
  cnt[num]=0;
 }
}
int main()
{
 memset(cnt,0,sizeof(cnt));
 cin>>m;
 f(1,m-10);
 cout<<ans<<endl;
 f2(1,m-10);
}
相关标签: 暴力枚举