我本来还以为会TLE,没想到一个RE,两个WA,无语
by shenyeting @ 2024-02-02 16:23:36
没开long long:[测试点](https://www.luogu.com.cn/record/145798063)
开了long long:[测试点](https://www.luogu.com.cn/record/145798352)
by shenyeting @ 2024-02-02 16:26:18
```
#include<bits/stdc++.h>
using namespace std;
long long a[100][100];
int dx[8]={-2,-2,-1,1,2,2,1,-1},dy[8]={-1,1,2,2,1,-1,-2,-2};
bool b[100][100];
int main(){
int wx,wy,mx,my;
cin>>wx>>wy>>mx>>my;
for(int i=0;i<=wx;i++){
for(int j=0;j<=wy;j++){
a[i][j]=0;
b[i][j]=true;
}
}
b[mx][my]=false;
for(int i=0;i<8;i++){
if(mx+dx[i]<=wx&&mx+dx[i]>=0&&my+dy[i]<=wy&&my+dy[i]>=0){
b[mx+dx[i]][my+dy[i]]=false;
}
}
for(int i=0;i<=wx;i++){
if(!b[0][i]){
break;
}
a[0][i]=1;
}
for(int i=0;i<=wy;i++){
if(!b[i][0]){
break;
}
a[i][0]=1;
}
for(int i=0;i<=wx;i++){
for(int j=0;j<=wy;j++){
if(b[i-1][j]&&b[i][j-1]){
a[i][j]=a[i-1][j]+a[i][j-1];
}
else{
if(!b[i-1][j]&&b[i][j-1]){
a[i][j]=a[i][j-1];
}
else{
if(b[i-1][j]&&!b[i][j-1]){
a[i][j]=a[i-1][j];
}
}
}
}
}
cout<<a[wx][wy];
}
```
小改了一下
by Tommyshizichen @ 2024-02-02 17:00:14
栓Q
by shenyeting @ 2024-02-03 09:43:59
怎么把a数组改成long long就行了
by shenyeting @ 2024-02-03 09:49:00
@[shenyeting](/user/1035926) 不开会爆,会出现负数
by wu_114514 @ 2024-02-03 22:44:20