全部评论 2

  • 我是gay我是gay!

    57分钟前 来自 浙江

    0
    • #include <bits/stdc++.h>
      using namespace std;
      int T, n, m, sx, sy, ans;
      bool a[15][15];
      
      void dfs(int x, int y, int cnt) {
      	if (x < 0 || y < 0 || x >= n || y >= m || a[x][y]) return;
      	if (cnt == n * m) {
      		ans++;
      		return;
      	}
      	a[x][y] = true;
      	dfs(x + 1, y + 2, cnt + 1);
      	dfs(x + 1, y - 2, cnt + 1);
      	dfs(x + 2, y + 1, cnt + 1);
      	dfs(x + 2, y - 1, cnt + 1);
      	dfs(x - 1, y + 2, cnt + 1);
      	dfs(x - 1, y - 2, cnt + 1);
      	dfs(x - 2, y + 1, cnt + 1);
      	dfs(x - 2, y - 1, cnt + 1);
      	a[x][y] = false;
      }
      
      int main() {
      	cin >> T;
      	while (T--) {
      		ans = 0;
      		memset(a, false, sizeof(a));
      		cin >> n >> m >> sx >> sy;
      		dfs(sx, sy, 1);
      		cout << ans << endl;
      	}
      	return 0;
      }
      

      56分钟前 来自 浙江

      0
  • 有更快的解答吗?

    1小时前 来自 浙江

    0

热门讨论