2016級ACM寒假訓練(八)

2021-07-27 17:03:53 字數 4091 閱讀 1801

problem:a

time limit:1000ms

memory limit:65536k

平面座標系上有乙個無限的螺旋線。螺旋由線段組成,線段是  [(0, 0), (1, 0)], [(1, 0), (1, 1)], [(1, 1), ( - 1, 1)], [( - 1, 1), ( - 1,  - 1)], [( - 1,  - 1), (2,  - 1)], [(2,  - 1), (2, 2)] 等。

這個無限螺旋經過了平面上的所有整數點。

煥神住在平面上的座標 (0,0),他想要沿著螺旋步行到點(x,y)。煥神認為轉彎非常困難,因此他想知道從(0,0)沿螺旋步行到點(x,y)要轉多少次彎。

多組資料,每行包含兩個整數 x 和 y ( |x|, |y| <= 100 )

每組資料輸出乙個整數,表示煥神要轉彎多少次。

0 0

1 00 1

-1 -1

002

3

找規律 分情況討論

#include "stdio.h"

int main()

return 0;

}

2  依舊是找規律

problem:b

time limit:1000ms

memory limit:65536k

有一種遊戲叫做跳房子,遊戲範圍由正方形組成,數字從下到上,同一排從左到右填在格仔裡,如下圖所示,從最下面開始每行的格仔數1-1-2-1-2-1-2-(1-2)...這樣重複下去。現在給你乙個座標系如圖所示,正方形的邊長為a。p.s這裡指的是嚴格落在裡面,落在邊上不行

輸入資料有多組。每組輸入只有三個整數a,x,y,a (1 ≤ a ≤ 100) 為正方形的邊長,x,y ( - 106 ≤ x ≤ 106, 0 ≤ y ≤ 106) 為燁神丟擲的石頭的座標。

輸出石頭所在的格仔號,如果不在格仔裡輸出「-1」。(不含引號)

1 0 0

3 1 1

3 0 10

3 0 7

3 4 0

-115

-1-1

#include "stdio.h"

int main()

else

else}}}}return 0;

}

3

problem:c

time limit:1000ms

memory limit:65536k

苟神想在他的農場周圍圍上一圈柵欄,但是他太懶了不想自己做,於是機智的苟神買了乙個會圍柵欄的機械人。

苟神想要乙個正多邊形的柵欄,但是機械人只會沿著直線走,然後轉彎把柵欄的頂點圍成乙個特定的角度。

這時候問題就來了,機械人能不能圍出苟神想要的柵欄呢?也就是說存不存在乙個正多邊形的頂點角度是a呢?

輸入資料有t組。第一行輸入乙個整數t (0   

如果能做出苟神想要的柵欄輸出「yes」,否則輸出「no」。(不含引號)

3

3060

90

no

yesyes

小學數學公式

#include #include int main()

return 0;

}

4

problem:d

time limit:1000ms

memory limit:65536k

韓大神有乙個座標系上面有n個矩形,每個矩形的頂點都在整數座標上且邊都平行於x軸和y軸,這些矩形可能共邊但不會重疊。

他想知道這些矩形是否組成了乙個正方形。

輸入資料有多組。第一行是乙個整數n(1 ≤ n ≤ 5)。接下來n行每行有4個整數x1,y1,x2,y2 (0 ≤ x1   

如果組成了乙個正方形輸出「yes」,否則輸出「no」。(不含引號)

5

0 0 2 3

0 3 3 5

2 0 5 2

3 2 5 5

2 2 3 3

40 0 2 3

0 3 3 5

2 0 5 2

3 2 5 5

yes

no

4

根據面積判斷

problem:d

time limit:1000ms

memory limit:65536k

韓大神有乙個座標系上面有n個矩形,每個矩形的頂點都在整數座標上且邊都平行於x軸和y軸,這些矩形可能共邊但不會重疊。

他想知道這些矩形是否組成了乙個正方形。

輸入資料有多組。第一行是乙個整數n(1 ≤ n ≤ 5)。接下來n行每行有4個整數x1,y1,x2,y2 (0 ≤ x1   

如果組成了乙個正方形輸出「yes」,否則輸出「no」。(不含引號)

5

0 0 2 3

0 3 3 5

2 0 5 2

3 2 5 5

2 2 3 3

40 0 2 3

0 3 3 5

2 0 5 2

3 2 5 5

yes

no

#include #include#include#include#includeusing namespace std;

struct juxing

point[10];

int main()

x=xmax-xmin;

y=ymax-ymin;

if(x==y&&s==x*y) printf("yes\n");

else printf("no\n");

}return 0;

}

5

problem:e

time limit:1000ms

memory limit:65536k

給出1個序列an,給出序列中的乙個值,計算下乙個序列的值。

序列如下:111

211211

111221

輸入1個序列中的下標n,n(1<= n <10)

對於序列中的an.  an要用long long

5

111221

智力題
1 11--- 表示前乙個數「1」是 1 個 1;

21--- 表示前乙個數「11」是 由 2 個 1 組成;

1211--- 表示前乙個數「21」是 由 1 個 2、1 個 1 組成;

111221--- 即 11 12 21 ,表示前乙個數「1211」是依次由 1 個 1,1 個 2,

2 個 1組成;

312211---即 31 22 11,表示前乙個數「111221」是依次由 3 個 1,2 個 2,

1 個 1 組成;

所以,下乙個數應填 13112221---即 13 11 22 21,表示前乙個數「312211」是依次由 1 個 3,1 個 1,2 個 2,2 個 1 組成;

同理,再下乙個數根據「13112221」填 1113213211,表示前乙個數「13112221」是依次由 1 個 1,1 個 3,2 個 1,3 個 2,1 個 1 組成.

#include using namespace std;

int main()

; int n;

while(scanf("%d",&n)!=eof)

return 0;

}

2016級ACM寒假訓練(一)

problem a time limit 1000ms memory limit 65535k 跳傘是乙個技術活,某空軍新來了一批新兵,為了訓練新兵跳傘的準確度,指揮官想了乙個好辦法,他在訓練場畫了乙個矩陣,每個格仔有乙個數字,如果某士兵跳到了 x,y 格點,那麼他的得分便是他周圍的八個格仔上的數字...

2016級ACM寒假訓練(三)

題都太簡單了,ak的那麼多,直接貼 了1.problem a time limit 1000ms memory limit 65535k 聰聰的班主任王老師最近有點忙,可是他又是一位非常細心的老師,每次考試成績都有專門的東西來記錄,學期結束的時候給每位學生算了加權之後,他都要 關心關心 成績不好的學...

2016寒假訓練 搜尋

一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。繞口令,呵呵 首先,不需要找到的次序,而且m 20,所以不會有爆棧的風險。然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和 4不為0的話,則一定是不可能。下面就是...