本帖最後由 李泳霖 於 2022-10-14 19:54 編輯
A.圈圈叉叉
Problem ID: tictactoe
你有玩過圈圈叉叉嗎?圈圈叉叉,⼜稱井字棋,是⼀個在⼤⼩ 3 × 3 的棋盤上玩的雙⼈遊戲。兩個玩家⼀⼈代表圈、⼀⼈代表叉,並且輪流在棋盤空的格⼦中放上⾃⼰的符號,⽽誰先連成⼀條線就贏了。
⼩ Y 是⼀個天才兒童,所以傳統 3 × 3 的圈圈叉叉對他來說已經太無趣了。因此,他發明了⼀種新的版本,並邀請他的好朋友⼩ P ⼀起來玩。⼩ Y 發明的版本是在⼀個 N × N 的棋盤上玩,與傳統的規則⼀樣,⼀⼈畫圈、另⼀⼈畫叉,並且拿圈的玩家先⼿。但與傳統的圈圈叉叉規則不⼀樣的是,⼩ Y 的遊戲⽐的不是誰先連成⼀條線,⽽是兩⼈會下到不能再下為⽌(也就是棋盤已經完全被佔滿),再看誰的連線⽐較多,⼀個玩家的得分就是他的連線數量,⽽很⾃然的,得分較⾼的玩家就勝出。
補充說明,在 N × N 的棋盤上,連線是指有同排、同列、或是同對⾓線的 N 個相同符號。
⼩ Y 跟⼩ P 都覺得新版的圈圈叉叉實在⽐舊版的好玩太多了,但他們⾺上就遇到了⼀個問題:由於棋盤實在是太⼤了,遊戲結束後實在無法慢慢的⽤⼈⼒來算分。當然,寫個程式來處理這個問題對於天才兒童⼩ Y 來說可以說是易如反掌,但可想⽽知,他還有更重要的事情要做。因此,⾝為程式競賽參賽者的你們,何不幫幫⼩ Y 解決這個⿇煩的問題呢?
https://contest.cc.ntu.edu.tw/np ... /contest_junior.pdf |