求助

P1002 [NOIP2002 普及组] 过河卒

@[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


上一页 |