【悬关】#3 & #4 WA 求助
查看原帖
【悬关】#3 & #4 WA 求助
1080505
Asaha_Akina楼主2024/3/14 04:39

60分 Case 3&4 WA,其他AC 请问大家如何修改?

//代码由Java直接修改至C++
#include <bits/stdc++.h>
using namespace std;
void initialize(long long int waysMap[64][64], int xCoordinateHorse, int yCoordinateHorse) {
    for (int i = 0; i < 64; i++) {
        for (int j = 0; j < 64; j++) {
            waysMap[i][j] = -1;
        }
    }
    for (int i = 3; i < 64; i++) {
        waysMap[i][2] = 1;
        waysMap[2][i] = 1;
    }
    waysMap[2][2] = 1;
    waysMap[xCoordinateHorse][yCoordinateHorse] = 0;
    waysMap[xCoordinateHorse + 2][yCoordinateHorse + 1] = 0;
    waysMap[xCoordinateHorse + 1][yCoordinateHorse + 2] = 0;
    waysMap[xCoordinateHorse - 1][yCoordinateHorse + 2] = 0;
    waysMap[xCoordinateHorse - 2][yCoordinateHorse + 1] = 0;
    waysMap[xCoordinateHorse - 2][yCoordinateHorse - 1] = 0;
    waysMap[xCoordinateHorse - 1][yCoordinateHorse - 2] = 0;
    waysMap[xCoordinateHorse + 1][yCoordinateHorse - 2] = 0;
    waysMap[xCoordinateHorse + 2][yCoordinateHorse - 1] = 0;
}
int main() {
    ios::sync_with_stdio (false);
    long long int ways[64][64];
    int input;
    cin >> input;
    int xCoordinateTarget = input + 2;
    cin >> input;
    int yCoordinateTarget = input + 2;
    cin >> input;
    int xCoordinateHorse = input + 2;
    cin >> input;
    int yCoordinateHorse = input + 2;
    initialize(ways, xCoordinateHorse, yCoordinateHorse);
    for (int i = 3; i <= xCoordinateTarget; i++) {
        for (int j = 3; j <= yCoordinateTarget; j++) {
            if (ways[i][j] == -1) {
                ways[i][j] = ways[i - 1][j] + ways[i][j - 1];
            }
        }
    }
    cout << ways[xCoordinateTarget][yCoordinateTarget];
}
2024/3/14 04:39
加载中...