如圖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)
123456789
【樣例輸入】01
【樣例輸出】
3
只要找出y軸上所有點的座標規律(稱之為橫向關鍵點),即求出後與該點所在同一橫線上的距離也都可以求出了。
規律:
當y >
0 時:
當abs
(x)<= y時,dis(0
, y)=
3* y +
(y * y - y)/2
*8,所以dis
(x , y)
=dis(0
, y)
+ x;
當abs
(x)> 時, x >
0時,dis
(x , y)
=dis(0
, x)+2
* x - y。
x <
0時,dis
(x , y)
=dis(0
,-x)+2
* x + y。
當y <=
0時:當y-
1<= x <=
-y 時,dis(0
,-y)=7
*-y +
(y * y + y)/2
*8,所以dis
(x , y)
=dis(0
, y)
- x;
當x >
- y 或 x< y -
1時,x >
0 時,dis
(x,y)
=dis(0
, x)-2
* x - y。
x <
0 時,dis
(x,y)
=dis(0
,-x -1)
-2* x + y -
1。
**#include
using
namespace std;
#define ll long long
intmain()
}else
} cout<
return0;
}
20180401第九屆藍橋杯省賽B組真題 1第幾天
注意 需要提交的是乙個整數,不要填寫任何多餘內容。手算都可以,這裡直接貼上2013年 高斯日記那道題了。輸入 2000 1 1 125即可。答案 125 project 2013 藍橋杯省賽 b組 填空題1 date 2018 03 18 author frank yu include includ...
2023年第九屆藍橋杯C 省賽B組H題
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...
2018藍橋杯第九屆C 語言A組省賽大題題解
為了準備下次比賽 2019a組c 這裡只寫了大題的題解。一部分原因也是因為要考研,時間不太夠 對於下次比賽很有信心,因為看了下大題基本會做。想起去年看這些題還要思考很久就感慨萬分啊,當時以為自己智商不過,哪知道系統的學過演算法後能提公升這麼多思維。所以有的看演算法題崩潰的道友們不要擔心,慢慢學總是學...