查看: 1512|回復: 0
打印 上一主題 下一主題

[HOJ] 35 - 彈珠配置

[複製鏈接]
  • TA的每日心情
    鬱悶
    2015-5-15 22:38
  • 簽到天數: 33 天

    [LV.5]常住居民I

    75

    主題

    302

    帖子

    766

    積分

    版主

    TFcis - 105 附設監工官

    Rank: 7Rank: 7Rank: 7

    積分
    766

    台南一中資訊社程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-11-9 23:32:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


    HOJ Problem 35 - 彈珠配置(因為好像都google不到論壇的題解所以在內文加個標題試看看)
    (實驗結果是文章要有一定年紀才會搜的到XD)


    先看清楚題意
    抓出線索

    單筆測資, 1.5秒, 字典序最小 ------ 暴力可解!
    很明顯只剩下兩個問題




    1. 如何枚舉
    2. 如何判斷是否符合前6組的線索






    枚舉最快的方法就是使用 next_permutation()
    隨便找都有範例就不贅述

    或者也可以認真寫一個DFS
    不過真的沒必要


    然後進入到判斷的部分
    思考一下
    直接判斷相同位置有幾個,夠嗎?

    玩過類似遊戲的人可能會想到這樣:
      交換如果正確量不變就表示兩個都不在正確位置
      交換如果改變表示其中一個正確
    可以進行一些刪去法,然後快樂的寫到瘋掉~

    就算不確定
    其實只要模擬看看幾個單次交換就差不多能了解到
    那些判斷不會提供更多線索

    它很容易有多組解
    不過沒關係, 反正都要枚舉了
    剛好如果用 next_permutation() 直接從{1,2,3,4,5,6}排下去
    第一個OK的就是字典序最小


    CODE :

    購買主題 本主題需向作者支付 2 枚金幣 才能瀏覽
    <這是個人簽名欄位>
    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表