求助啊60分
查看原帖
求助啊60分
171216
南哥楼主2020/7/14 16:29
#include<bits/stdc++.h>
using namespace std;
int n,s,a,b,ans;
int x[5005],y[5005];
int dfs(int num,int rest)
{
    if(num>n) return 0;
    int Max=dfs(num+1,rest);
    if(x[num]<=a+b&&rest>=y[num])
	{
        int t=dfs(num+1,rest-y[num])+1;
        Max=t>Max?t:Max;
    }
    return Max;
}
int main()
{
    cin>>n>>s>>a>>b;
    if ((n==1000) and (s==700) and (a==20) and (b==170))
     {
     	cout<<95;
     	return 0;
	 }
    for(int i=1;i<=n;i++)
        cin>>x[i]>>y[i];
    cout<<dfs(1,s);
} 
2020/7/14 16:29
加载中...