題目:
題目描述
亮亮夢到自己來到了魔法城堡,但一扇巨大的石門阻攔了他通向城堡內的路。 正當他沮喪之際,突然發現門上有一處機關,機關上有一張很長的紙條。 亮亮拿起紙條的一端,只見上面寫著開啟機關的方法:「開啟機關需要唸動符咒,咒語是一串長為 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個小方塊組成。旅遊公司將把一對夫婦放在迷宮中的兩個不同的小方塊上,讓他們互相尋找。原本的地圖上是空曠曠的一片,大師要做的就是在一些小方塊之間建造一些牆從而把地圖變成迷宮。建造的迷宮有乙個條件,無論這對夫妻...