Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstring>#include<cstdio>#include<vector>#include<algorithm>#include<map>#include<set>#include<string>using namespace std;typedef long long LL;#define MAXN 105#define MOD 1000000007int n,m,_,i,j,a,b,dp[MAXN][MAXN],vis[MAXN][MAXN];int dfs(int y,int x){//if(x == 0 || y == 0)return 1;if(dp[y][x])return dp[y][x];int curx = 0,cury = 0;if(x + b > m || x + b < 1){curx = !vis[y][x];vis[y][x] = true;}else curx = dfs(y,x + b);if(y + a > n || y + a < 1){cury = !vis[y][x];vis[y][x] = true;}else cury = dfs(y + a,x);