牛客練習-禁忌雷炎
阿新 • • 發佈:2018-11-25
赫柏在絕域之門擊敗魯卡斯後,從魯卡斯身上掉落了一本高階技能書,赫柏開啟後驚喜地發現這是一個早已失傳的上古技能---禁忌雷炎。
該技能每次發動只需扣很少的精神值,而且輸出也非常高。
具體魔法描述如下:
把地圖抽象為一個二維座標,技能發動者位於(0,0)位置。以技能發動者為中心,做一個半徑為r的圓,滿足r^2=S,如果敵人位於這個圓上,且位置為整點座標,這個敵人將收到該技能的輸出傷害。。
例如當S=25時,將有12個敵人受到該技能的輸出傷害,如下圖所示:
更厲害的是,禁忌雷炎可以通過改變魔法輸入來控制S的大小,因此數學好的魔法師可以通過該技能攻擊到更多的敵人。
赫柏想將這個技能學會併成為自己的主技能,可數學是他的硬傷,所以他請求你為他寫一個程式,幫幫他吧,沒準他就把禁忌雷炎與你分享了 : )
輸入描述:
多組測試資料,請處理到檔案結束。 對於每組測試資料,只包含一個整數S。 保證: 1<=S<=2,000,000,000。
輸出描述:
輸出一個整數,代表受到禁忌雷炎傷害的敵人數量。
示例1
輸入
25 3
輸出
12 0
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int main() { long long s; while(cin>>s) { int cnt = 0; int r = sqrt(s); for(int i = 1;i<=r;i++) { int m = (int)sqrt(s-i*i); if(m*m==s-i*i)cnt++; } cout<<cnt*4<<endl; } return 0; }