【プログラマー面接金典】XxYのグリッドがあり、ロボットはグリッドポイントしか歩けず、右または下にしか歩けず、左上から右下に行かなければなりません.ロボットの歩き方を計算するアルゴリズムを設計してください.今回のグリッドにはいくつかの障害点が歩けないことに注意してください.


タイトルの説明
XxYのメッシュがあり、1つのロボットはグリッドポイントしか歩けず、右または下にしか歩けず、左上から右下に進む必要があります.ロボットの歩き方を計算するアルゴリズムを設計してください.今回のグリッドにはいくつかの障害点が歩けないことに注意してください.
int[][map(C++ではvector>)が与えられ、メッシュ図を表し、map[i][j]が1であればその点が障害点ではないことを示し、そうでなければ障害となる.またint x,int yが与えられ,メッシュの大きさを表す.ロボットが(0,0)から(x-1,y-1)まで歩いた歩き方の数を返してください.オーバーフローを防ぐために、結果をMod 100000007にしてください.xとyが50以下であることを保証する
class Robot {
public:
    int countWays(vector > map, int x, int y) {
        // write code here
vector> dp(x,vector(y,0));      
       for(int i=0; i