如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。
對於整點(x, y),我們定義它到原點的距離dis(x, y)是從原點到(x, y)的螺旋折線段的長度。
例如dis(0, 1)=3, dis(-2, -1)=9
給出整點座標(x, y),你能計算出dis(x, y)嗎?
【輸入格式】
x和y
對於40%的資料,-1000 <= x, y <= 1000
對於70%的資料,-100000 <= x, y <= 100000
對於100%的資料, -1000000000 <= x, y <= 1000000000
【輸出格式】
輸出dis(x, y)
【樣例輸入】
0 1【樣例輸出】
3資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
注意:main函式需要返回0;
只使用ansi c/ansi c++ 標準;
不要呼叫依賴於編譯環境或作業系統的特殊函式。
所有依賴的函式必須明確地在原始檔中 #include
不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
思路:分類討論+找規律。我是先找四個象限的角點的規律,可以看到第一二四象限的角點各自與x軸y軸都形成了乙個小正方形,設這個小邊長為t。第一象限的角點規律是4t^2,當x>y時,t就是x,那麼在這個範圍內的點就是4t^2+(x-y);當xy時,t就是-x,那麼在這個範圍內的點就是2t(2t-1)-(-x-y);當abs(x)abs(y)時,t就是x,那麼在這個範圍內的點就是2t(2t+1)-(x-(-y));當xabs(y)時,t=-x-x-1,那麼這個範圍內的點就是t^2+(-x-1-(-y)),否則,t=-y-y+1,範圍內的點就是t^2-(-y+1-(-x))。這裡有個大佬給了一些測試資料,大家也可以試試:
第九屆藍橋杯 螺旋折線
如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。對於整點 x,y 我們定義它到原點的距離dis x,y 是從原點到 x,y 的螺旋折線段的長度。例如dis 0,1 3,dis 2,1 9 給出整點座標 x,y 你能計算出dis x,y 嗎?輸入格式 x和y 對於40 的資料,1000 x,...
第九屆藍橋杯 螺旋折線
唉!暴力解法不推薦 寫了好久,還在草稿紙上打了半小時草稿 但是想不出其他好方法了 還有一種方法想了想,被打斷了 2 x 1 2 2 x 1 1 2 y 1 2 2 y 1 1 感覺可以做出來,但是思路沒了 你們加油 還剩28天左右 include includeint main printf d n...
藍橋杯第九屆之螺旋折線
藍橋杯第九屆 c c b組 題目彙總及解析 如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。對於整點 x,y 我們定義它到原點的距離dis x,y 是從原點到 x,y 的螺旋折線段的長度。例如dis 0,1 3,dis 2,1 9 給出整點座標 x,y 你能計算出dis x,y 嗎?輸入格...