本文主要是介绍2019深信服研发出试卷笔试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
递归解决
#include<iostream>
using namespace std;int f(int,int[],int);
int main()
{
int m,A[10],i,sum=0;
for(i=0;i<10;i++)
A[i]=0;
cin>>m;
for(i=0;i<m;i++)
cin>>A[i];
f(100,A,m);
for(i=0;i<m;i++)
if(A[i]==-1)
sum+=1;
cout<<sum<<endl;
for(i=0;i<m;i++)
if(A[i]==-1)
cout<<i+1<<endl;
return 0;
}
int f(int score,int A[],int m)
{
int i,temp;
for(i=0;i<m;i++)
{
if(A[i]==-1||A[i]==0)
continue;
else
{
if(score-A[i]==0)
{
A[i]=-1;
return 1;
}
else if(score-A[i]<0)
continue;
else if(score-A[i]>0)
{
temp=A[i];
A[i]=-1;
if(f(score-temp,A,m)==1)
return 1;
A[i]=temp;
}
}
}
return 0;
}
这篇关于2019深信服研发出试卷笔试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!