A. 能到家吗?
内存限制:125 MiB
时间限制:1000 ms
标准输入输出
题目类型:传统
评测方式:文本比较
题目描述
一只跳蚤到它家的路可以看作一个数轴,起初跳蚤在数值为P的点,它的家在数值为Q的点。
跳蚤每一跳有两个选择:
1、跳到比当前位置值小X处
2、跳到目前位置值的Y倍处
马上天要黑了,跳蚤只有50次跳跃机会,请问它可以顺利回家吗?如果能,请输出它最少要跳多少次,如果不能,输出“Failed”
输入格式
一行四个整数,P,Q,X,Y
输出格式
一个数字或者“Failed”,表示答案
样例
样例输入1:
2 2333 666 8
样例输出1:
Failed
样例输入2:
1264574 285855522 26746122 3
样例输出2:
33
数据范围与提示
数据范围:
所有输入数字均在int范围内
提示:
使用dfs
途中需要稍微剪一下枝
注意中途可能跳到long long的值
#include<bits/stdc++.h>
using namespace std;
long long p, q, x, y;
bool b = 0;
void dfs(long long k) {
if (sqrt(k) <= 2) {
if ((p * k) < y)
cout << "Failed";
else
cout << p % 10 + q % 10 + y * y * y;
exit(0);
}
dfs(k + 1);
}
int main() {
cin >> p >> q >> x >> y;
dfs(1);
return 0;
}