求助大佬,助人为乐是一种美德。
  • 板块灌水区
  • 楼主北射天狼
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/11/17 20:38
  • 上次更新2023/11/5 07:49:24
查看原帖
求助大佬,助人为乐是一种美德。
289056
北射天狼楼主2020/11/17 20:38

大佬,我1002不行了: https://www.luogu.com.cn/problem/P1002 快来帮帮菜鸟吧:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,m,x,y;
int dp[21][21];  //xy
int ax[8]={1,2,2,1,-1,-2,-2,-1};
int ay[8]={2,1,-1,-2,-2,-1,1,2};
int main()
{
	memset(dp,0,sizeof(dp));
    cin>>n>>m>>x>>y; //x,y,x,y
    dp[x][y]=-1;
    for (int i=0;i<=7;i++)
    {
    	int x1=x+ax[i];
    	int y1=y+ay[i];
    	if (!(x1>-1&&x1<n+1&&y1>-1&&y1<m+1))    continue;
    	dp[x1][y1]=-1;
	}
	int i=0;
	while (i<=n&&dp[i][0]!=-1){ dp[i][0]=1;i++;}
   i=0;
	while (i<=m&&dp[0][i]!=-1)  {dp[0][i]=1;i++;}
	for (int i=1;i<=n;i++) {
		for (int j=1;j<=m;j++){
			if (dp[i][j]!=-1){
				dp[i][j]=max(dp[i][j-1],0)+max(dp[i-1][j],0); 
			}
		}
	}
	cout<<dp[n][m]<<endl;
	return 0;
} 

千山万岁总是情,帮助一下行不行?

助人为乐是一种美德。

2020/11/17 20:38
加载中...