📄 1229_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 + -