[Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪
简单的dfs题
枚举前3个完全平方数,判断最后一个是不是完全平方数,统计合法方案数即可。
(zz选手竟把数据看成<=1e9)
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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 }