class Solution {
public:intuniquePathsWithObstacles(vector<vector<int>>& obstacleGrid){int m = obstacleGrid.size();int n = obstacleGrid[0].size();
vector<vector<int>>dp(m, vector<int>(n,0));int i =0;while(i < m && obstacleGrid[i][0]!=1){
dp[i][0]=1;++i;}
i =1;while(i < n && obstacleGrid[0][i]!=1){
dp[0][i]=1;++i;}for(i =1; i < m; i++){for(int j =1; j < n; j++){if(obstacleGrid[i][j]==1)continue;
dp[i][j]= dp[i-1][j]+ dp[i][j-1];}}return dp[n-1][m-1];}};