C++ 解決機器人移動問題:PowerOfThreeEasy(禁止使用動態陣列)
#include
int main() { int x, y; cin >> x >> y;
// 首先判斷x和y是否同時為0
if (x == 0 && y == 0) {
cout << "Possible" << endl;
return 0;
}
// 如果x和y中有一個為0,則不可能到達
if (x == 0 || y == 0) {
cout << "Impossible" << endl;
return 0;
}
// 判斷x和y是否都為正數且x+y為3的倍數
if (x > 0 && y > 0 && (x + y) % 3 == 0) {
// 判斷在每一步移動時,x和y的变化是否滿足要求
while (x > 0 && y > 0) {
if (x % 3 == 0 && y % 3 == 0) {
x /= 3;
y /= 3;
}
else {
break;
}
}
// 判断最终是否到达目标点
if (x == 1 && y == 1) {
cout << "Possible" << endl;
}
else {
cout << "Impossible" << endl;
}
}
else {
cout << "Impossible" << endl;
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qxeH 著作权归作者所有。请勿转载和采集!