$2023$ 年 $2$ 月 $17$ 號下午,一個日常的放學後時間
大家在程設班群組中討論要不要線上上課時
有人提出了「第三屆」以前好像可以和以前一樣使用紙本備審資料
進階教學 $William$ 提出一個觀點:但我們這屆高二畢業時是第五年的 $108$ 課綱,所以,我們到底算不算呢?
冠甫電神說:若意指「第三年」的話,應該就說「第一屆」就好了
大家討論地如火如荼,$frankie$ 在旁邊看得很開心
沒想到自己說一個線上上課就引出了這神奇的話題~
......
以下對話省略,而且對話中可能有些許虛構成份!!
......
$frankie$ 由衷地覺得:國文真的是太深奧了!
而且別忘記程設班群中還有一個因為國文奇蹟似地考出高分,因此避免被當掉的進階助教 $chrislaiisme$
因為這些文字遊戲之玄妙讓大家都玩不起來,請你幫幫群組中的各位,告訴他們加密過的字符們,讓大家加入這一個「文字遊戲」
文字遊戲規則如下:
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
所有正整數必在 $int$ 內
$B ∈ bool$
要壓一下,請在主函式 $main()$ 的下方打上以下兩行:
$cin.tie(0);$
$ios\_base::sync\_with\_stdio(0);$
1. $25\ \%$ 只有 $insert$、$modify$ 兩種操作,$B = false$,$N = 10000$,$c$ 屬於英數字元,$T = 1000$
2. $50\ \%$ 只有 $insert$、$modify$、$delete$ 三種操作,$B = false$,$N = 10000$,$c$ 屬於英數字元,$T = 1000$
3. $75\ \%$ 所有操作皆含入,$B=false$,$N = 10000$,$c$ 屬於英數字元,$T = 1000$
4. $100\ \%$ 無特別限制,$N = 10000000$,$c$ 屬於英數字元,$T = 3$
範測解釋,下面放出每一筆輸入後的字串:
1. A1
2. A1A
3. A1
4. A1b
5. A1T
6. A1TT
7. A1TTd
8. A1TTdg
9. A1TTdgg
10. A1TTdggc
1 代表要加密
g = 103
所以由小到大排:
1AATTcdgg
是質數也一定是奇數 (這邊不會出現 $ASCII=2$ 的狀況,英數字元中沒有)
所以拿掉後變:
gdcTA1
$1+0+3=4, 6\ \%\ 4 = 2$
將最後兩位搬來前方,就變出答案:A1gdcT
8/26 19:57 加強測資,並將所有程式碼全部 $\text{REJUDGE}$
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |