發表文章

目前顯示的是有「家教技術顧問課程紀錄」標籤的文章

14463 - Take 6!

圖片
https://acm.cs.nthu.edu.tw/problem/14463/ “Take 6”(也稱為“6 Nimmt!”)是一種由 104 張牌組成的紙牌遊戲,每張牌都有一個數位(範圍從 1 到 104)和一定數量的牛頭符號。一張牌的牛頭數量各不相同,編號較高的牌通常包含更多的牛頭。玩家的目標是以最少的牛頭完成遊戲,因為每個牛頭都算作一個扣分。遊戲分輪進行。 遊戲中的每張牌都有一定數量的「牛頭」(罰分)。牛頭在卡片上的分佈如下: 1 張卡片,上面有 7 個牛頭——編號 55 8 張牌,上面有 5 個牛頭——11 的倍數(55 除外):11、22、33、44、66、77、88、99 10 張帶有 3 個牛頭的牌 - 10 的倍數:10、20、30、40、50、60、70、80、90、100 9 張帶有 2 個牛頭的牌——5 的倍數不是 10 的倍數(55 除外):5、15、25、35、45、65、75、85、95 76 張牌,1 個牛頭 - 其餘的牌,從 1 到 104 遊戲規則 每個玩家都發  M  張牌,遊戲由  M  輪組成。 遊戲從  P  行牌開始,每行以一張起手牌開始。 在每一輪中: 所有玩家同時從他們的手牌中選擇一張牌來玩。 一旦顯示,卡片將根據其值按升序排列,從最小的數字開始。 每張牌必須放在高於該行中的最後一張牌但價值最接近的行中。 如果一行已經包含五張牌,則放置第六張牌的玩家必須拿走該行中的所有五張牌作為懲罰。然後,他們的牌將成為該行中新的第一張牌。 如果玩家的牌小於任何行中的最後一張牌,則玩家必須從最後一張牌最大的行中取出所有牌(作為懲罰),並將他們的牌作為該行的新第一張牌。 遊戲繼續進行,直到所有玩家都打完了所有的牌。 目標是避免收集牛頭,因為它們代表著扣分。遊戲結束時牛頭最少的玩家獲勝。 輸入 輸入以包含三個整數  N  、  M  和  P  的行開頭,這些整數表示玩家的數量、每個玩家持有的牌數以及桌子上的行數。 接下來的  P  行各包含一個整數  D i   ,表示表上行中的起始卡。 以下  N  行各包含  M  個整數 ...

Big Orange Cat's Puzzle

圖片
https://acm.cs.nthu.edu.tw/problem/14444/ Big Orange Cat(大橘)喜歡做拼圖。他總共有 n 種類型的謎題,每個謎題 i 都可以用一個字串  A i  表示,該字串由 ASCII 碼中的所有可見字元組成。 不幸的是,他把謎題搞砸了,真是個巴加諾......現在對於每個拼圖 i,他都找到了一些拼圖塊,由字串  B i  表示。你的任務是找到一種方法來告訴大橘貓應該從  B i  的哪些位置取出拼圖塊並重新排列以形成  A i 。 但是,可能有很多可能的方法,而且由於 Big Orange Cat 很懶,請輸出字典順序最小的方法。 重要: 比較兩個字串的字典順序的方法如下:從第一個位置(最左側)開始,找到第一個不同的字元。在該位置具有較小字元的字串在字典順序上被視為較小。例如,“abc” < “abd”,因為第一個不同的字母 'c' < 'd'。 輸入 輸入的第一行包含一個整數  n 。 n  表示拼圖-說明手冊對的數量。 以下 n 行各包含兩個字串  A i  和  B i ,用空格分隔。它們分別代表第 i 個謎題和說明手冊。 約束 1 ≤  n  ≤ 500 1 ≤  n  ≤ 500 所有字串均由大寫和小寫字母以及任何可由 ASCII 代碼表示的可見符號(ASCII 代碼 33 至 126)組成 1 ≤ |  一  |≤ | B i   |≤ 10000 (| S  |表示字串 S 的長度 ) 子任務 測試案例 1 ~ 2: |   一  |= | B i  |, A i  和   B i   中的字元按字典升序排列。 測試案例 3 ~ 4: |   一  |= | B i  | 測試用例 5 ~ 8:對於每個  B i ,只有一種可能的方法,或者根本沒有方法,來創建相應的  A i 。 測試案例 9 ~ 10:沒有額外的限制。 提示:ASCII 碼 33 ~ 126 是:...