#include <iostream>
#include <math.h>
using namespace std;
int numSquares(int n);
int main()
{
int num, ans;
while (cin>>num){
ans = numSquares(num);
cout << ans << endl;
} // while
}
int numSquares(int n)
{
while (n % 4 == 0)
n /= 4;
if (n % 8 == 7)
return 4;
for (int a = 0; a * a <= n; ++a)
{
int b = sqrt(n - a * a);
if (a * a + b * b == n)
{
return !!a + !!b;
}
}
return 3;
}
E. 鐵路 本題源自於Onling Judge:514 - Rails 題目目標在於給定出站順序的前提下,利用已知入站順序1~N, 確定是否仍能夠以目標出站順序離開。 有一個簡單的想法,我們利用queue的特性來維護出站順序、 利用stack的特性來維護入站順序, 並依次比較它們的front/top是否相同,如果相同就安排出站(pop)。
Jan 27, 2022C. 組合 #include<bits/stdc++.h> using namespace std; vector<int> a; bool first=true,f=true; fstream input,output; void find(int g,vector<int> &can,int p){ if(!g){ if(!first){
Sep 19, 2021D. Flood Fill # include <bits/stdc++.h> using namespace std; int m[102][102]; struct Fill{ int x,y,t; };
Sep 16, 2021B. 嚴格二元樹 # include <iostream> using namespace std; struct Node{ int val, depth; Node *left, *right; Node(int v, int h){ val = v, depth = h;
Sep 16, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up