为什么编译错误?
  • 板块灌水区
  • 楼主cuiyuhan
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/10/1 11:26
  • 上次更新2024/10/1 15:18:01
查看原帖
为什么编译错误?
770534
cuiyuhan楼主2024/10/1 11:26
#include<bits/stdc++.h>
using namespace std;
int x1,y1,x2,y2;//b点坐标:x1,y1;马坐标:x2,y2
unsigned long long board[25][25];//记录经过当前点的路径
bool vis[25][25];//记录每个点是否能走
const int fx[]={0,-2,-1,1,2,2,1,-1,-2};
const int fy[]={0,1,2,2,1,-1,-2,-2,-1};//马能到达的几个方位
int main(){
    cin>>x1>>y1>>x2>>y2;
    x1+=2;
    y1+=2;
    x2+=2;
    y2+=2;//防止马的位置溢出,把所有点+2平移
    for(int i=0;i<9;i++)
        vis[x2+fx[i]][y2+fy[i]]=1;//把所有马的点标记上
    board[2][2]=1;//初始化A点,A(0,0)->A(2,2)
    for(int i=2;i<=x1;i++){
        for(int j=2;j<=y1;j++){
            if(vis[i][j]==0)//没有马可以走
            board[i][j]=max(board[i][j],board[i-1][j]+board[i][j-1]);//状态转移方程
        }
    }
    cout<<board[x1][y1];//输出终点的路径条数
    return 0;
}

题目入口

2024/10/1 11:26
加载中...