2018藍橋杯省賽 螺旋折線

2021-09-12 23:38:26 字數 1981 閱讀 2573

如圖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

不能通過工程設定而省略常用標頭檔案。

提交程式時,注意選擇所期望的語言型別和編譯器型別。

#include#include //大小寫轉換transform(str.begin(), str.end(),str.begin()::tolower)

#include //平方pow(x,y);

#include//用於生產未知大小的一位陣列std::vectorarr

#include//堆疊 stackarr

#include//判斷資料型別isdigit(),islower(),isupper()

#include//字串

#include//rand()生成隨機值

#include //

using namespace std;

//下面的解法是一點點的找規律,總結出來的。有可能有些地方沒注意到。然後就是要注意x,y的正負,+-的情況好像有問題,還有資料會溢位。

long x, y;

long long sum = 0;

long long flag;

int main()

sum = sum + flag/2;

for (int i = 1; i < 2 * y; i++)

}else//y在下半軸 規律:x是累加到2y再加乙個y,y是累加到2y

sum = sum + abs(y);

for (int i = 1; i <= 2 * abs(y); i++)

}} if (y == 0)

sum = sum + flag/2;

for (int i = 1; i < 2 * x; i++)

sum += 2 * x;

}else//x在下半軸 規律:是在y在上半軸的情況下減2x

sum = sum + flag / 2;

for (int i = 1; i < 2 * abs(x); i++)

sum -= 2 * abs(x);

}} }

else//x和y不等於0

sum = sum + (x - y);

}else//x左半軸

sum = sum + abs(x) - 1 + y;

}} else//y下半軸

for (long long i = 1; i <= 2 * abs(y); i++)//規律:y是累加到2y,再減去乙個x

sum = sum + abs(y) - x;

}else//x左半軸

sum = sum + abs(y) + abs(x);

}} }

cout << sum << endl;

return 0;

}

藍橋 2023年省賽 螺旋折線

目測乙個找規律題目,不知道寫得對不對。規律還是蠻好找的 第一象限 包括x軸正半軸,y軸正半軸 以x,y相等的座標為基點,然後再根據所求點與基點的關係求得dis。第二,四象限亦是如此。稍微特殊的第三象限,也能較快地看出規律。在注釋中已經註明 include 藍橋 2018省賽 螺旋折線 long lo...

2018藍橋杯 ,螺旋折線與日誌統計

日誌統計 看資料範圍,應該會是乙個找規律的題,對於一些情況肯定會有乙個公式來計算。其次,需要注意資料範圍,涉及到大資料相乘,還是使用long long保險一點。思考 首先,對於每乙個外圍的小橫線,可以把他順時針旋轉90度,這樣就可以看成一些內部的正方形與外部邊長的問題了。對於內部的正方形,可以看出他...

第九屆藍橋杯省賽C B組 螺旋折線

如圖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,...