@[ImopsterAnYu](/user/510555) 第三个和第四个错了
by 暗影之梦 @ 2021-07-26 15:50:55
@[暗影之梦](/user/382274) 跟你说了,结果可能要开long long!
你数组开个long long有那么困难吗?!
by ImposterAnYu @ 2021-07-26 15:56:36
@[ImopsterAnYu](/user/510555) 我一开始就define int long long了
by 暗影之梦 @ 2021-07-26 16:15:17
@[ImopsterAnYu](/user/510555) 不然我怎么赋值的1e18
by 暗影之梦 @ 2021-07-26 16:15:58
@[暗影之梦](/user/382274) ~~人类迷惑行为~~
by ImposterAnYu @ 2021-07-26 17:08:39
@[暗影之梦](/user/382274) ~~算了,我把我代码贴上来算了。~~
```cpp
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,m,x,y,i,j,b[25][25];
bool a[25][25];
int main(){
cin >> n >> m >> x >> y;
x += 2;
y += 2;
n += 2;
m += 2;
a[x][y] = a[x + 2][y + 1] = a[x + 2][y - 1] = a[x - 2][y + 1] = a[x - 2][y - 1] = 1;
a[x + 1][y + 2] = a[x - 1][y + 2] = a[x + 1][y - 2] = a[x - 1][y - 2] = 1;
b[2][2] = 1;
for(i = 3; i <= n; i++){
if(a[i][2]) continue;
b[i][2] = b[i - 1][2];
}
for(i = 3; i <= m; i++){
if(a[2][i]) continue;
b[2][i] = b[2][i - 1];
}
for(i = 3; i <= n; i++){
for(j = 3; j <= m; j++){
if(a[i][j]) continue;
b[i][j] = b[i - 1][j] + b[i][j - 1];
}
}
cout<< b[n][m] ;
return 0;
}
```
你参照一下吧。
by ImposterAnYu @ 2021-07-26 17:10:55