機試題-三星
3月1日,西安三星研究所公司機試。
之前HR介紹,機試題主要考察分析和邏輯能力,不會用到複雜的演算法,而且現場也不能使用除了輸入輸出流之外的其他的庫或包。
總體過程:
在公司的一間機試屋子考試,有VisualStudio和Eclipse兩種編譯器可選。三星機試有專門的系統,可以檢視題目,並且在下方程式設計(沒有提示,得全程手打,而且不提醒語法錯誤,建議用編譯器),該頁面同時可以進行測試案例除錯,執行後可得編譯結果(會提示語法錯誤和異常)提供參考。機試總共3小時,系統介面和題目都是英語,手機得飛航模式,現場提供紙筆。
題目:
原題記不太清了,大致意思如下:
給一個10 10的表格(grid),其中放置有2 1的方塊(blocks),方塊和橫豎放置。讓表格中的方塊自由下落(類似俄羅斯方塊),堆積在底部。表格中有方塊佔有的格子用1表示,沒有的用0表示。用數字0-10表示下落後,每列的方塊高度。
注:題目要求方塊不能全部靠在左側、右側、上側或下側,而且下邊這種連續放置方塊的情況也不允許(題目中英文沒全看懂,個人理解)。這個條件尤其要注意,中途寫完程式,就是忽略了這個約束,結果老是不對。
輸入輸出
1、Input
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 1 0
0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0
……
共10個case
2、Output
*1 1 2 2 1 2 1 1 0 3 0 0
……
10個case,每個case的結果都按行輸出(*1表示case1)