非常标准的一道动态规划,记录老板位置,到达老板位置的路径条数为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")