社区讨论

蒟蒻求解

P1002[NOIP 2002 普及组] 过河卒参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo1cwibw
此快照首次捕获于
2023/10/22 18:59
2 年前
此快照最后确认于
2023/11/02 19:41
2 年前
查看原帖
这段代码
CPP
#include <bits/stdc++.h>
using namespace std;

long long vis[40][40]; 
long long dp[40][40];
int main(){
    long long n,m,x,y;
    cin >> n >> m >> x >> y;
    long long passx[8]={x+1,x+1,x+2,x+2,x-1,x-1,x-2,x-2};
    long long passy[8]={y+2,y-2,y+1,y-1,y+2,y-2,y+1,y-1};
    vis[x][y]=1;
    for (int i=0;i<8;i++){
        if (passx[i]>0 || passx[i]<=n+1 || passy[i]>0 || passy[i]<=m+1) vis[passx[i]][passy[i]]=1;
    }
    dp[0][1] = 1;
    for (int i=1;i<=n+1;i++){
        for (int j=1;j<=m+1;j++){
            if (vis[i-1][j-1]==1) {
                continue;
            }
            dp[i][j]=dp[i][j-1]+dp[i-1][j];
        }
    }
    cout << dp[n+1][m+1];
}
不开O2 60分 开O2 过了是什么原理

回复

1 条回复,欢迎继续交流。

正在加载回复...