沈先生 @ 2019-10-09 03:50:29
#include <bits/stdc++.h>
using namespace std;
int n,s,a,b,x[5005],y[5005],z[5005],sum=0,ans=0;
x是高度,y是费力,z用来判定是否被摘取
void dfs(int app)
{
if(app==n+1)
{
ans=max(ans,sum);//不短取最大
sum =0; //然后得到答案刷新sum的值
return ;
}
for(int i=1;i<=n+1;i++)
{
if(i==n+1) dfs(n+1);//本应该巡环到n,到了n+1就代表没有可摘的苹果了 ,直接到结尾
if(a+b>=x[i]&&s>=y[i]&&z[i]!=1)
{
s=s-y[i];
z[i]=1;//标记摘过的
sum++;
dfs(app+1);
z[i]=0;
}
}
}
int main()
{
cin>>n>>s>>a>>b;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i];}
dfs(0);
cout<<ans;
return 0;
}
求大佬帮忙看看错哪了,我自己试的都对了,结果五个wa....
by 木木! @ 2019-10-09 06:56:57
@沈先生 你可能是交错题了,你这个像P1478 陶陶摘苹果(升级版)的代码
by lk_liang @ 2019-10-09 07:26:39
哈哈哈哈交错题可还行
by 火车司机 @ 2019-10-09 07:27:04
每日快乐源泉有了2333
by 今天也要开心a @ 2019-10-09 07:33:30
哈哈哈哈哈哈哈哈哈嗝
by 啧啧啧 @ 2019-10-09 07:33:37
%%%
by 风行者 @ 2019-10-09 07:34:12
233
by _MRCMRC_ @ 2019-10-09 07:56:28
他交对题了,但是目测是发错题号了
by 沈先生 @ 2019-10-09 23:27:04
...woc..谢谢各位
by tZEROちゃん @ 2019-10-22 13:20:56
233333