#include<iostream>
//22386 31673
using namespace std;
int get(int value,int index){
return (value>>index)&1;
}
int main(){
int s,d,sum,flag,fflag,i,j,k;
int max=(1<<12);
while(cin>>s>>d){
fflag=0;
for(i=0;i<max;i++){
flag=0;
for(j=0;j<8;j++){
sum=0;
for(k=j;k<5+j;k++){
if(get(i,k)==1){
sum+=s;
}else{
sum-=d;
}
}
if(sum>=0){
flag=1;
break;
}
}
if(flag==0){
sum=0;
for(j=0;j<12;j++){
if(get(i,j)==1){
sum+=s;
}else{
sum-=d;
}
}
if(sum>=0){
fflag=1;
break;
}
}
}
if(fflag==1){
cout<<sum<<endl;
}else{
cout<<"Deficit"<<endl;
}
}
}
我直接搜索,发现有情况不正确
s=31673 d=22386,我的代码停在ssdddssdddsd,感觉这个结果也符合条件……待会再看