#include using namespace std;

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;

}

C++ 解決機器人移動問題:PowerOfThreeEasy(禁止使用動態陣列)

原文地址: https://www.cveoy.top/t/topic/qxeH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录