rt
#include <bits/stdc++.h>
#define int long long
using namespace std;
bool dt[50][50];
int sum = 0;
struct pos {
int x, y;
};
queue<pos> qu;
int dx[] = {1, 0};
int dy[] = {0, 1};
int n, m;
void bfs() {
while (!qu.empty()) {
if (qu.front().x == n && qu.front().y == m) {
sum++;
}
pos cur = qu.front();
qu.pop();
for (int i = 0; i < 2; i++) {
int nx = cur.x + dx[i], ny = cur.y + dy[i];
if (nx >= 1 && nx <= n && ny >= 1 && ny <= m && dt[nx][ny] == 1) {
qu.push({nx, ny});
}
}
}
}
signed main() {
cin >> n >> m;
memset(dt, 1, sizeof(dt));
for (int i = 2; i <= n; i += 2) {
for (int j = 2; j <= m; j += 2) {
dt[i][j] = 0;
}
}
qu.push({1, 1});
bfs();
cout << sum;
return 0;
}
广搜打的,MLE了