首页 > 代码库 > 轮胎充气
轮胎充气
#include<iostream> using namespace std; int m; int limit; int data[2][20]; int visit[20]; int flag; int curp; void DFS(int step,int curp) { if(step==m) { flag=1; return; } for(int i=0;i<m;i++) { if(visit[i]==0) { visit[i]=1; int tmp0=curp; curp+=data[0][i]; if(curp>limit) { visit[i]=0; curp=tmp0; continue; } else { curp-=data[1][i]; if(curp<0) { visit[i]=0; curp=tmp0; continue; } else { DFS(step+1,curp); visit[i]=0; curp=tmp0; } } } } } int main() { freopen("input.txt","r",stdin); int ntc; cin>>ntc; for(int i=0;i<ntc;i++) { cin>>m>>limit; for(int i=0;i<2;i++) { for(int j=0;j<m;j++) { cin>>data[i][j]; } } for(int i=0;i<limit;i++) { for(int j=0;j<20;j++) { visit[j]=0; } flag=0; DFS(0,i); if(flag==1) { cout<<i<<endl; break; } } if(flag==0) cout<<-1<<endl; } } input: 5 3 100 80 75 45 95 30 55 2 100 65 90 20 30 5 150 35 105 100 45 75 115 75 55 35 105 7 150 70 95 15 65 85 75 55 105 80 10 90 115 110 45 8 200 35 30 50 80 70 15 10 40 70 20 20 85 65 40 25 50 output: 15 -1 25 -1 45
轮胎充气
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。