非常标准的一道动态规划,记录老板位置,到达老板位置的路径条数为0即可。

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int x, y ,n;
    cin>>x>>y>>n;
    vector<vector<long>> res(x+1,vector<long>(y+1));
    vector<vector<int>> boss(x+1,vector<int>(y+1));
    int xi,yi;
    while(cin>>xi>>yi){
        boss[xi][yi] = 1;
    }
    for(int i=0;i<=x;i++){
        res[i][0] = 1;
    }
    for(int i=0;i<=y;i++){
        res[0][i] = 1;
    }
    for(int i = 1;i<=x;i++){
        for(int j=1;j<=y;j++){
            if(boss[i][j]==1) res[i][j]=0;
            else res[i][j] = res[i-1][j]+res[i][j-1];
        }
    }
    cout<<res[x][y]<<endl;
    return 0;
    //vector<vector<int>> res(x+1,vector<int>(y+1));
}
// 64 位输出请用 printf("%lld")