bzoj1643 / P2666 [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

[Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

简单的dfs题

枚举前3个完全平方数,判断最后一个是不是完全平方数,统计合法方案数即可。

(zz选手竟把数据看成<=1e9)

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 using namespace std;
 6 int n,ans;
 7 void dfs(int t,int d){
 8     if(d==4){
 9         int k=sqrt(t);
10         if(k*k==t) ++ans;
11         return ;
12     }
13     for(int i=0;i*i<=t;++i)
14         dfs(t-i*i,d+1); 
15 }
16 int main(){
17     scanf("%d",&n);
18     dfs(n,1);
19     printf("%d",ans);
20     return 0;
21 }
View Code
原文地址:https://www.cnblogs.com/kafuuchino/p/10025995.html