16哈理工新生賽 H 下雪啦 (雜湊表)

2021-07-25 05:11:37 字數 1567 閱讀 5908

下雪啦time limit: 2500 ms

memory limit: 32768 k

total submit: 184(32 users)

total accepted: 33(10 users)

rating:

special judge: no

description

陳月亮最喜歡的季節就是冬天了,這不看著窗外飄起了雪花,陳月亮開心的跑出屋來看雪。但是迷迷糊糊的陳月亮不知道自己是在做夢還是真的下起了雪。突然她想起了一句話,在真實世界中是沒有兩片一樣的雪花的。於是你的任務就是比較這場雪中的所有雪花,如果出現了兩朵完全一致的雪花,則證明陳月亮是在夢中。

每朵雪花用六個整數表示,範圍在(

1 – 10000000

)之間,表示雪花六個花瓣的長度,六個整數的先後出現順序可能是順時針順序也可能是逆時針順序,並且可能是從任意乙個花瓣開始的。比如說對同乙個花瓣,描述方法可能是

1 2 3 4 5 6

或者4 3 2 1 6 5

input

第一行為乙個整數

t,表示有

t組測試資料。

每組測試資料第一行為乙個整數

n(0 < n <= 100000),

表示雪花的數目。

接下來n

行每行六個整數,描述一朵雪花。

output

如果沒有相同的雪花,輸出「

no two snowflakes are alike.」

,否則輸出

「twin snowflakes found.」

sample input

1 2

1 2 3 4 5 6

4 3 2 1 6 5

sample output

twin snowflakes found.

source

2016級新生程式設計全國邀請賽

題解:對每兩朵雪花進行hash,如果找到相同的雪花就不再進行之後的雜湊操作。詳細看**。

ac**:

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

#define ll long long

#define inf 0x3f3f3f3f

const int maxn=100005;

const int mod=99983; //hash函式,取餘的數(我用的是素數),可以是其他數

int snow[maxn][6]; //儲存雪花資訊

vectorhash[mod];//向量實現雜湊表的儲存

bool issame(int a, int b)

return false;

}int t,n,ok;

int t;

int key;

int main()

{ scanf("%d",&t);

while(t--)

{ ok=0;

scanf("%d",&n);

for(int i=0;i

16哈理工新生賽 A 棋盤村 dp

棋盤村time limit 1000 ms memory limit 32768 k total submit 219 72 users total accepted 71 61 users rating special judge no description 一名騎著馬的強盜闖進了原本平靜祥和的...

16哈理工新生賽 C 方方正正 (證明題)

方方正正 time limit 1000 ms memory limit 32768 k total submit 87 24 users total accepted 19 15 users rating special judge no description乙個r 行c列的矩陣裡的所有元素都為...

哈理工 網路賽

在acimo星球,tabris 是一名勇敢的屠龍勇士,在上綠島屠龍前決定挑選n種裝備武裝自己,現在每種裝備有兩個,但每種裝備tabris必須選擇拿乙個 不能多也不能少 每件裝備有自己的屬性值,能給tabris屬性加成。對於不同種類的裝備之間有疊加效果,如果選擇多件裝備,最終的屬性加成為他們的乘積。若...