HDU 3835 R(N)
这题本身并不难,但是给我的深深的教训就是——尽量少用STL!!!。我用map出事情了。
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <cmath> #include <map> #include <string> using namespace std; int n; int main() { while(~scanf("%d",&n)) { int ans=0; for(int i=0; i*i<=n; i++) { int Nii=sqrt(n-i*i); if(Nii*Nii+i*i==n) { if(i*i==0||n-i*i==0) ans=ans+2; else ans=ans+4; } } printf("%d\n",ans); } return 0; }