⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1229_bfs.cpp

📁 n个石头(每相邻两个的距离是1米,最边上石头和岸的距离也是1米),礼物放在第m个石头上,青蛙第i次跳2*i-1米.问能否得到礼物.(n>=49肯定能得到礼物,n<49,可以bfs或递归)
💻 CPP
字号:
//n大于50就有解 
/*
n个石头(每相邻两个的距离是1米,最边上石头和岸的距离也是1米),
礼物放在第m个石头上,青蛙第i次跳2*i-1米.问能否得到礼物.
(n>=49肯定能得到礼物,n<49,可以bfs或递归)

*/




#include <iostream.h> 
long n,m; 
int flag; 

void dfs(int current,int depth){ 
   if(flag)return; 
   if(current<=0||current>n)return; 
   if(current==m){ 
      flag=1; 
      return; 
   } 
   dfs(current+(2*depth-1),depth+1); 
   dfs(current-(2*depth-1),depth+1); 
} 














int main(){ 
   do{ 
      cin>>n; 
      if(!n)break; 
      flag=0; 
      cin>>m; 
      if(n>=49) flag=1; 
      else{ 
         dfs(1,2); 
      } 
      
      
      if(flag) cout<<"Let me try!"<<endl; 
      else cout<<"Don't make fun of me!"<<endl; 
   }while(1); 
   
   
   return 0; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -