标签:arp std amp ret sha return iss scan nbsp
#include<iostream>
using namespace std;
int t;
int n;
int a[10]={0}; //panzi chengfang apple number
int sum;
int he=0;
int m;
int data[10][10]={0};
int count=0;
int flag;
int b[10]={0};
int p=0;
int c[20]={0};
int q=0;
int f;
int issafe(int k)
{ //printf("%d",m);
sum=0;
for(int i=0;i<10;i++)
{
sum=sum+a[i];
}
if(m>=sum+k)
{
return 1;
}else{
return 0;
}
}
void dfs(int step)
{
if(step==n)
{
f=1;
p=0;
he=0;
for(int i=0;i<n;i++)
{
he=a[i]+he;
}
if(he==m)
{
for(int i=0;i<n;i++)
{
b[i]=a[i];
}
//for(int j=0;j<n;j++)
//printf("%d",a[j]);
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(b[i]>b[j])
{
int temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
/*for(int i=0;i<n;i++)
{
printf("%d",b[i]);
}*/
// printf("####");
for(int i=0;i<n;i++)
{
p=b[i]+p*10;
}
//printf("%d",p);
//printf("\n");
for(int i=0;i<20;i++)
{
if(c[i]==p)
{
f=0;
break;
}
}
if(f==1)
{
c[q]=p;
q++;
}
}
return;
}
for(int i=0;i<=m;i++)
{ /* if(i==3)
printf("xixi");*/
// printf("%d\n",i);
if(issafe(i))
{
a[step]=i;
dfs(step+1);
a[step]=0;
}
}
}
int main()
{
// n panzi
//scanf("%d",&t);
//while(t--)
//{
flag=0;
scanf("%d%d",&m,&n);
//printf("%d%d",m,n);
dfs(0);
for(int j=0;j<20;j++)
{
printf("%d ",c[j]);
}
//printf("%d",count);
//}
}
标签:arp std amp ret sha return iss scan nbsp
原文地址:http://www.cnblogs.com/liunx1109/p/6145640.html