站外题求助
  • 板块学术版
  • 楼主lucky_loser
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/6/30 15:04
  • 上次更新2023/11/3 12:04:21
查看原帖
站外题求助
754146
lucky_loser楼主2023/6/30 15:04

没过样例……

#include<bits/stdc++.h>
typedef long long ll;
#define pb(x) push_back(x)
#define pf(x) push_front(x)
#define eb(x) emplace_back(x)
#define ef(x) emplace_front(x)
#define sz(v) ((int)(v).size())
#define file_r(x) freopen(x,  "r",  stdin)
#define file_w(x) freopen(x,  "w",  stdout)
#define lowbit(x) ((x) & (-x))
#define rep(i, n) for (int i = 1; i <= (n); i++)
#define repd(i, n) for (int i = (n - 1); i >= 0; i--)
#define in1(n) scanf("%d",&n)
#define in2(n, m) scanf("%d%d",&n,&m)
#define in3(x, y, z) scanf("%d%d",&x,&y,&z)
#define sort_asc(c) sort(c.begin(), c.end())
#define iter(it, v) for (auto it = v.begin(); it != v.end(); ++ it)
using namespace std;
ll sx,sy,nx,ny,minn=1000000;
bool vis[101][101];
void dfs(int i,int j,int step)
{
	if(i<1||i>100||j<1||j>100||step>minn||!vis[i][j])
		return;
	if(i==1&&j==1)
		minn=step;
	vis[i][j]=false;
	dfs(i-2,j-1,step+1);
	dfs(i-2,j-2,step+1);
	dfs(i-1,j-2,step+1);
	dfs(i+1,j-2,step+1);
	dfs(i+2,j-2,step+1);
	dfs(i+2,j-1,step+1);
	dfs(i+2,j+1,step+1);
	dfs(i+1,j+2,step+1);
	dfs(i+1,j-2,step+1);
	dfs(i-1,j+2,step+1);
	dfs(i-2,j+2,step+1);
	dfs(i-2,j+1,step+1);
	vis[i][j]==true;
}
int main()
{
	rep(i,2)
	{
		memset(vis,true,sizeof(vis));
		in2(sx,sy);
		dfs(sx,sy,0);
		cout<<minn<<endl;
	}
	return 0;
}

题目在这

2023/6/30 15:04
加载中...