顯示屏輸出(計蒜客)

2021-08-17 07:24:47 字數 1491 閱讀 2336

(複製出錯,格式有問題。不要描述部分了,看輸入樣例就能理解題意)

輸入格式

輸入兩個整數 k,n(1≤

k≤10

,0≤n

≤999

9999

9),分別表達放大的倍數和需要輸出的數字。

輸出數碼管顯示的數字,數字每一位之間用一列空格隔開。

樣例輸入1

2 12345

樣例輸出1

--   --        --

| | | | | |

| | | | | |

-- -- -- --

| | | | |

| | | | |

-- -- --

樣例輸入2

3 67890

樣例輸出2

---   ---   ---   ---   ---

| | | | | | | |

| | | | | | | |

| | | | | | | |

--- --- ---

| | | | | | | |

| | | | | | | |

| | | | | | | |

--- --- --- ---

#include #include /*

* 剛開始看的時候一臉蒙,看著看著就看不下去了,斷斷續續看了一天才看懂。看懂後感覺其實也沒那麼難。堅持看,不斷思考,遲早會懂的。

* 結合題目,思考自己的解決思路,如果思路跟**演算法一樣的話,有助於理解**。理解夠了,實踐能力遲早能跟上。

* */

int num[10][5] = ,,,

,,,,

,,

};using namespace std;

void print(int n, int k, int layer) else

}printf(" ");

if(num[n][layer] & 2) printf("|");

else printf(" ");

for(int i = 0;i < k;++ i)

if(num[n][layer] & 1) printf("|");

else printf(" ");

}}int main()

for(int layer = 0;layer < 5;++ layer)

printf("\n");//換行輸出}}

for(int i = len - 1;i >= 0;-- i)

printf("\n");//換層輸出

}return 0;

}

計蒜客 聯想的顯示屏校準 莫比烏斯反演

先來乙個題面 題目要我們計算在n m的點陣中不同的直線有多少條。顯然平行於座標軸的直線只有n m條,所以我們只需要考慮不平行於座標軸的。我們列舉直線的方向向量 a,b 且令a,b 0,那麼每一條這樣的直線通過繞垂直軸翻轉都能一一對應一條另一方向的直線 顯然,自行腦補就行了 然後,我們定義乙個點 x,...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...