夏洛克


私信TA

用户名:SherlockObama

访问量:13015

签 名:

SherlockObama

等  级
排  名 1093
经  验 3222
参赛次数 0
文章发表 17
年  龄 0
在职情况 学生
学  校 湖北文理学院
专  业 计算机

  自我简介:

Go Go Go!!!

解题思路:  深度优先搜索,用1和2两种瓷砖去一一试探,当面积小于要求时深搜

注意事项:  当满足条件后记得加return;   这是递归的出口! 

参考代码:

#include<iostream>
 using namespace std;
 int n,count=0;
  void dfs(int area){
  if(area>n)  return;  //面积大于要求的 也得返回 
  if(area==n){
  count++; return; //满足条件得返回 
  }
   //开始铺砖  1和2两种砖 一一尝试! 
   int i;
   for(i=1;i<=2;i++){
     if(area<n){  //面积达不到要求才深搜 
       dfs(area+i);  //面积的递增
     }
   } 
  }
 int main(){
  cin>>n;
  dfs(0); //初始面积为0
  cout<<count;
 return 0; }


 

0.0分

2 人评分

  评论区

  • «
  • »