大佬求调,为什么会全WA
查看原帖
大佬求调,为什么会全WA
1340936
guimei121212楼主2024/9/27 19:40
#include <iostream>
#include <vector>

const int N = 1010;
long long arr[21][21][21]; 
bool vis[21][21][21] = {false};

int w(long long a, long long b, long long c) {
    if (a <= 0 || b <= 0 || c <= 0) {
        return 1;
    } else if (a > 20 || b > 20 || c > 20) {
        return w(20, 20, 20);
    } else if (vis[a][b][c]) {
        return arr[a][b][c];
    }
     arr[a][b][c] = w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1);
    if (a < b && b < c) {
        arr[a][b][c] += w(a, b, c - 1) + w(a, b - 1, c - 1) + w(a, b - 1, c);
    }
    vis[a][b][c] = true;
    return arr[a][b][c];
}

int main() {
    long long a, b, c;
    std::vector<int> results;
    std::vector<int> p;
    while (true) {
        std::cin >> a >> b >> c;
        if (a == -1 && b == -1 && c == -1) {
            break;
        }
        results.push_back(w(a, b, c));
        p.push_back(a);
        p.push_back(b);
        p.push_back(c);
    }

    for (size_t i = 0; i < results.size(); i++) {
    	std::cout<<"w(";
    	std::cout<<p[(i+1)*3-3]<<','<<' '<<p[(i+1)*3-2]<<','<< ' '<<p[(i+1)*3-1]<<')'<<' '<<'='<<' ';
    	
        std::cout << results[i] << std::endl;
    }
    return 0;
}
2024/9/27 19:40
加载中...