文字遊戲規則如下:
1. 由一個英數字元開始
2. 假設大家最喜歡的字母是字串中 $ASCII$ 碼最大的那個
3. 每一回合,大家說出一個操作
操作分為以下四種:
$insert\ c$ ,插入一個字母於文字後方
$delete\ pos$ ,只要第 $pos$ 位之前的字母,之後的都拋棄,若 $pos$ 大於等於字串長度,視為無效操作, $pos = 0$,相當於刪除整個字串
$max$ ,將大家最喜歡的字母插入在字串後方,若沒有視為插入最小的 '0' 字元 $(ASCII\ 48)$
$modify\ c$ ,將最後插入的字元換成自己想要的,若沒有則視為 $insert$
4. 最後,有一個隨機布林值 $B$,決定是否要加密
若 $B$ 是 $1$ 才進行以下動作
若眾人最喜歡的字母換成 $ASCII$ 碼後是質數,由小到大排,合數則反之
若眾人最喜歡的字母換成 $ASCII$ 碼後是奇數,將字串反轉,並刪除重覆的字元
將最喜歡的字母換成 $ASCII$ 碼後的所有位數總和 $(持續進行直到 < 10)$ 設為 $x$
最後將字串後方 $(字串長度\ \%\ x)$ 位字母移到前方即得最後密碼
多測資點
最前面有一行 $T$,代表有 $T$ 筆測資
每筆測資中:
第一行有一個數 $N$ 代表接下來有 $N$ 個人加入遊戲
第二行有一個英數字元 $C$ 代表起始字母
之後有 $N$ 行代表操作
操作分以下四種:
$1\ c$,代表 $insert$
$2\ c$,代表 $modify$
$3\ pos$,代表 $delete$
$4$,代表 $max$
其中 $c$ 為字元,$pos$ 為整數
輸出最後玩出來的密碼並換行
1 10 A 1 1 4 3 2 1 b 2 T 4 1 d 1 g 4 1 c 1
A1gdcT
$N = 1000$,$c$ 屬於英數字元
$T = 10$
其餘未提及者皆必在 $int$ 內
$B ∈ bool$
1. $25\ \%$ 只有 $insert$、$modify$ 兩種操作,$B = false$
2. $50\ \%$ 只有 $insert$、$modify$、$delete$ 三種操作,$B = false$
3. $75\ \%$ 所有操作皆含入,$B=false$
4. $100\ \%$ 無特別限制
範測解釋,下面放出每一筆輸入後的字串:
1. A1
2. A1A
3. A1
4. A1b
5. A1T
6. A1TT
7. A1TTd
8. A1TTdg
9. A1TTdgg
10. A1TTdggc
1 代表要加密
g = 103
所以由小到大排:
1ATTcdgg
是質數也一定是奇數 (這邊不會出現 $ASCII=2$ 的狀況,英數字元中沒有)
所以拿掉後變:
gdcTA1
$1+0+3=4, 6\ \%\ 4 = 2$
將最後兩位搬來前方,就變出答案:A1gdcT
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |