社区讨论
求助大佬,递归,40分,TLE
P1002[NOIP 2002 普及组] 过河卒参与者 4已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo30vlvz
- 此快照首次捕获于
- 2023/10/23 22:58 2 年前
- 此快照最后确认于
- 2023/10/23 22:58 2 年前
废话不说,看代码
CPP#include<iostream>
using namespace std;
int bn,bm,hn[10],hm[10],n;
void f(int an,int am)
{
bool a=1,b=1;
if(an==bn&&am==bm)
n++;
for(int i=1;i<=5;i++)
{
int j[2];
if(hm[i]-hm[1]>0)
{
j[0]=3-(hm[i]-hm[1]);
j[1]=-(3-(hm[i]-hm[1]));
}
if(hm[i]-hm[1]<0)
{
j[0]=3+(hm[i]-hm[1]);
j[1]=-(3+(hm[i]-hm[1]));
}
if(hm[i]-hm[1]==0)
{
j[0]=0;
j[1]=0;
}
if(am==hm[i]&&an+1==hn[1]+j[0]||an+1>bn)
a=0;
if(am==hm[i]&&an+1==hn[1]+j[1]||an+1>bn)
a=0;
if(am+1==hm[1]+j[0]&&an==hn[i]||am+1>bm)
b=0;
if(am+1==hm[1]+j[1]&&an==hn[i]||am+1>bm)
b=0;
}
if(a==1)
f(an+1,am);
if(b==1)
f(an,am+1);
}
int main()
{
int an=0,am=0;
cin>>bn>>bm>>hn[1]>>hm[1];
hn[2]=hn[1]+1;
hn[3]=hn[1]+2;
hn[4]=hn[1]-1;
hn[5]=hn[1]-2;
hm[2]=hm[1]+1;
hm[3]=hm[1]+2;
hm[4]=hm[1]-1;
hm[5]=hm[1]-2;
f(an,am);
cout<<n;
return 0;
}
~~一定用pd吗,卡好久了,~~大佬帮帮忙
回复
共 6 条回复,欢迎继续交流。
正在加载回复...