#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
//英语 看博友分析 抄博友程序 动态规划 背
int up[1008];
int down[1008];
int dp[1008][12000];
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){cin>>up[i]>>down[i];}memset(dp,0x3f,sizeof(dp));//dp[0][6000]=0;//抄博友程序 int cha=up[1]-down[1];dp[1][cha+6000]=0;dp[1][6000-cha]=1;for(int i=2;i<=n;i++){for(int j=0;j<=12000;j++){cha=up[i]-down[i];if(j-cha>=0){dp[i][j]=min(dp[i][j],dp[i-1][j-cha]);//抄博友程序 }if(j+cha<=12000){dp[i][j]=min(dp[i][j],dp[i-1][j+cha]+1);}}}for(int i=0;i<=6000;i++){int ans=min(dp[n][i+6000],dp[n][6000-i]);if(ans<1000){cout<<ans<<endl;break;}} return 0;
}
本文发布于:2024-01-30 05:32:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170656398319576.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |