未知 六邊形 題解

2021-08-07 12:16:21 字數 2184 閱讀 7351

(接上題,反正是一起做的那麼故事情節也接上吧嘻嘻嘻)

「正好,帶我去一趟天線崖。」

」你確定?!你都說了都要暴雨了,前幾天的暴雨……「

」是啊,你還抱怨整天悶在家裡啥事也沒幹呢,結果就剩下我在刷題而你整天再睡覺。「

因為山脈的阻隔,所以他們只能乘坐小船到達那裡。

而給他們租小船的人,開出了很高的價錢,但是。

」你們幫我解決乙個問題,我就免費帶你們去你們想去的地方。「

他指了指酒館前面做的乙個漢子,漢子的桌子上擺著乙個很大的六邊形棋盤。

————————————————————————

時間限制: 1s 空間限制:256m

棋盤是由許多個六邊形構成的,共有5種不同的六邊形編號為1到5,棋盤的生成規

則如下:

1.從中心的乙個六邊形開始,逆時針向外生成乙個個六邊形。

2.對於剛生成的乙個六邊形,我們要確定它的種類,它的種類必須滿足與已生成的相

鄰的六邊形不同。

3.如果有多個種類可以選,我們選擇出現次數最少的種類。

4.情況3下還有多個種類可以選,我們選擇數字編號最小的。

現在要你求第n個生成的六邊形的編號。

輸入格式:

第一行:t,表示資料組數

接下來t行,每行乙個數:n,表示第n個六邊形

輸出格式:

共t行,每行乙個數,表示第n個資料的答案

樣例輸入:

4 1

4 10

100

樣例輸出:

1 4

5 5

資料範圍:

100%資料滿足

1<=t<=20

1<=n<=10000

30%資料滿足

1<=n<=100

————————————————

今天的模擬都很有意思?!

這道明顯是找規律的題卻意外的不好找規律。

思考一下,恩……大概是六邊形使我們石樂志。

但是大家的普遍打法都是靠六邊形轉換成矩形,然後打表。

我們想一想……

這道題難道真的無規律可循嗎?!

當答案找不到規律時,我們想想能夠匯出答案的東西是否有規律。

是啊,如果我們知道每乙個六邊形的相鄰情況的話完全模擬就可以解決啊!

這就是規律:

遵從題意,我們從起點開始,按放數字的順序依次編號為1,2……

接下來,我們知道與1相鄰的有2,3,4,5,6,7

那麼因為1相鄰著2,所以2相鄰著1

又因為2肯定相鄰著3

所以與2相鄰有1,3

然而還差四個點為7,8,9,10

好的上述的內容總結為三條規律:

對於點i,找到與它所有相鄰的六個點

已知i-1的點所鄰的最大編號的點為k

1.從1~i-1,如果有與i相鄰的點,就加上

2.i+1一定與i相鄰

3.上述兩步操作完後所得的相鄰點的個數為n<6,那麼接下來的點分別為k+0,k+1……直到n==6為止

其實我們還可以證明這個的正確性(然而再寫下去我的手就抽筋了,證明就交給大家了?)

#include

#include

#include

#include

#include

using

namespace

std;

int l[10001][7]=;

int f[10001]=;

int cnt[6]=;

int ji[10001]=;

bool ok[10001]=;

void chu()

ok[1]=1;

for(int i=1;i<=10000;i++)

}elseelse

}ji[i]=6;ok[i]=1;

i--;}}

return;

}bool ha[7];

int main()else

int minn=2147483647;

for(int j=1;j<=5;j++)

}for(int j=1;j<=5;j++)}}

}printf("%d\n",f[n]);

maxn=max(maxn,n+1);

}return

0;}

六邊形平面

現在有乙個n n的六邊形網格平面 這種平面類似蜂窩形狀 下圖是n 1,2,3,4條件下的具體形狀,根據它們可以依次類推n 5,6,現在你需要對n n網格中一些格仔進行上色,在給定的輸入中這些格仔被標記上字元 x 而不用上色的網格被標記為 上色時需要注意,如果兩個被上色的格仔有公共邊,那麼這兩個格仔需...

2701 六邊形點陣

題目描述 description 輸入六邊形的邊長n,請你畫出這個六邊形點陣。輸入描述 input description 僅一行,乙個整數n 輸出描述 output description 六邊形點陣 有兩條邊水平 樣例輸入 sample input 6 樣例輸出 sample output 資料...

HTML畫六邊形

1.方法1 上下兩個三角,中間乙個長方形 方法2 t 25deg,transparent 36px,rgb 76,184,233 0 bottom left background size 50 50 background repeat no repeat position absolute lef...