-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleetcode2596.cpp
More file actions
33 lines (23 loc) · 798 Bytes
/
leetcode2596.cpp
File metadata and controls
33 lines (23 loc) · 798 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Solution {
public:
bool isvalid(vector<vector<int>>& grid,int r,int c,int n,int expval){
if(r<0 || c<0|| c>=n || r>=n|| grid[r][c]!=expval){
return false;
}
if(expval == n*n-1){
return true;
}
int ans1=isvalid(grid,r-2,c+1,n,expval+1);
int ans2=isvalid(grid,r-1,c+2,n,expval+1);
int ans3=isvalid(grid,r+1,c+2,n,expval+1);
int ans4=isvalid(grid,r+2,c+1,n,expval+1);
int ans5=isvalid(grid,r+2,c-1,n,expval+1);
int ans6=isvalid(grid,r+1,c-2,n,expval+1);
int ans7=isvalid(grid,r-1,c-2,n,expval+1);
int ans8=isvalid(grid,r-2,c-1,n,expval+1);
return ans1||ans2||ans3||ans4||ans5||ans6||ans7||ans8;
}
bool checkValidGrid(vector<vector<int>>& grid) {
return isvalid(grid,0,0,grid.size(),0);
}
};