Wrong Answer 40分求解
查看原帖
Wrong Answer 40分求解
1165244
zjy20110906楼主2024/1/26 20:49

记忆化搜索\\WA 40分,求解!

#include<iostream>
#include<stdlib.h>
#include<fstream>
#include<map>
#include<string.h>
#include<queue>
int vis[101][101];
long long a[101][101];
long long result(int x,int y) {
  if(x==1 or y==1) {
    vis[x][y]=true; return a[x][y]=1ll;
  }
  if(vis[x][y])
    return a[x][y];
  vis[x][y]=true;
  return a[x][y]=result(x-1,y)+result(x,y-1);
}
int main() {
  memset(a,0,sizeof(a));
  int x,y,xm,ym;
  std::cin>>x>>y>>xm>>ym,std::cout.tie(0);
  x++,y++;
  ++xm,ym++;
  vis[xm][ym]=true;
  vis[xm-1][ym-2]=true,vis[xm-2][ym-1]=true,vis[xm+1][ym+2]=true,vis[xm+2][ym+1]=true, 
  vis[xm-1][ym+2]=true,vis[xm-2][ym+1]=true,vis[xm+1][ym-2]=true,vis[xm+2][ym-1]=true;
  std::cout<<result(x,y);
  return 0;
}

2024/1/26 20:49
加载中...