半数单集问题
#include<stdio.h>#include<iostream>using namespace std;int a[600];int set(int n){long s = 1;for(int i= 1;i<=n/2;i++){s +=set(i);if( ( i>10...
·
#include<stdio.h>
#include<iostream>
using namespace std;
int a[600];
int set(int n)
{
long s = 1;
for(int i= 1;i<=n/2;i++)
{
s += set(i);
if( ( i>10) && (2*(i/10) <= i%10) )
s -= a[i/10];
}
a[n] = s;
return s ;
}
int main()
{
int n ;
a[1] = 1 ;
freopen("input.txt","r",stdin);
cin>>n;
freopen("output.txt","w",stdout);
cout<<set(n)<<endl;
return 0;
}
更多推荐
已为社区贡献2条内容
所有评论(0)