不充钱,你怎么AC?
题目:http://codevs.cn/problem/1011/
一开始以为是道数学题,列出了一个公式
后面验证,发现只能推出第一次,后面的还需要迭代,推翻这个公式
又去瞟了一眼数据范围,只有1000,显然直接暴力DFS
时间复杂度O(nlog2n)
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std; int n,ans;
void dfs(int x)
{
if (x==)
{
ans++;
return;
}
int i;
for (i=;i<=x/;i++) dfs(i);
}
int main()
{
scanf("%d",&n);
ans=;
dfs(n);
printf("%d\n",ans);
return ;
}