2018 10 30 膜你賽 咒語

2021-08-30 11:31:04 字數 1329 閱讀 3649

題目:

題目描述

亮亮夢到自己來到了魔法城堡,但一扇巨大的石門阻攔了他通向城堡內的路。 正當他沮喪之際,突然發現門上有一處機關,機關上有一張很長的紙條。 亮亮拿起紙條的一端,只見上面寫著開啟機關的方法:「開啟機關需要唸動符咒,咒語是一串長為 l 的由 0 和 1 組成的字串。在這張長紙條上列了 n 個 長為 l 的字串,正確的咒語即是在紛繁的 2

^l 種字串中,與這些紙條上的 字串相異度之和最小,並且在滿足這一條件下,0 的個數最多的字串。兩個字串的相異度定義為對應位置不相等的字元對的個數。如『011』和『001』的 相異度為 1,因為它們有且只有第二個位置上的字元不相等。」 亮亮拉起紙條,只覺得紙條似乎永遠也拉不完。這上面有著數以萬計的字串,而每乙個字串的長度也或百或千,以人力看來是無法得到正確的咒語。你能幫幫他,讓他得以進入魔法城堡,一窺其中的奧秘嗎?

輸入輸出格式

輸入格式:

第一行為乙個數字 n 。

接下來的 n 行,每行為乙個長為 l 的 01 字串。資料保證 n 個字串等長。

輸出格式:

只有一行,是乙個長為 l 的字串 s,即為正確的咒語。

輸入輸出樣例

輸入樣例#1:

401011

01001

01101

10111

輸出樣例#1:

01001

說明對於 20

%的資料,n<=

5;對於 60

%的資料,n<=

100;

對於 100

%的資料,1

<=n<=

1000,1

<=l<=

1000。

思路:

對於每一位,看所給的串中0多還是1多,填進去就好。

**:

#include

using

namespace std;

#define maxn 1000

#define read(x) scanf("%d",&x)

int n,l;

bool a[maxn+5]

[maxn+5]

;int ans[maxn+5]

;void

readin()

}}intmain()

if(cnt0>=cnt1) ans[j]=0

;else ans[j]=1

;}for(

int i=

1;i<=l;i++

)printf

("%d"

,ans[i]);

return0;

}

2018 10 30 膜你賽 火柴

題目 題目描述 p同學總共有k根火柴,分別放在擺成一列的n個火柴盒內,保證k是n的倍數。p同學想要每個火柴盒都有相同數目的火柴,每次他可以從乙個火柴盒中拿一根火柴放到相鄰的火柴盒中。他想知道他最少要移動多少次。輸入輸出格式 輸入格式 第一行乙個整數n,表示火柴盒數。第二行n個整數a 1,a 2,a ...

膜你賽 ROAD (跑路)

小a的家到公司的路可以看做乙個有向圖,小a家為點1,公司為點n,每條邊長度均為一千公尺。假設小a每秒鐘可以跑2 k千公尺 k是任意數 當然,所以總跑路長度不能超過maxlongint千公尺。問最少需要幾秒才能到公司。資料保證1到n至少有一條路徑。第一行兩個整數n,m,表示點的個數和邊的個數。接下來m...

2018 11 02 膜你賽 設計迷宮

題目 題目描述 長假過後,迷宮設計大師必須完成他的工作。旅遊公司給他一張矩形的地圖。地圖由n m個小方塊組成。旅遊公司將把一對夫婦放在迷宮中的兩個不同的小方塊上,讓他們互相尋找。原本的地圖上是空曠曠的一片,大師要做的就是在一些小方塊之間建造一些牆從而把地圖變成迷宮。建造的迷宮有乙個條件,無論這對夫妻...