PA12題解報告 迴圈移位 Cycle

2021-10-07 16:24:02 字數 1268 閱讀 8480

題目描述

題目分析

編碼實現

1. 描述

所謂迴圈移位是指。乙個字串的首字母移到末尾, 其他字元的次序保持不變。比如abcd經過一次迴圈移位後變成bcda。

給定兩個字串,判斷它們是不是可以通過若干次迴圈移位得到彼此。

2. 輸入

由m行組成,每行包含兩個由大寫字母』a』~'z』組成的字串,中間由空格隔開。

3. 輸出

對於每行輸入,輸出這兩個字串是否可以通過迴圈移位得到彼此:yes表示是,no表示否。

4. 例

//輸入

aacd cdaa

abcdefg efgabcd

abcd acbd

abcdefeg abcdee

//輸出

yesyes

nono

5. 限制**實現

讀入兩個字串,如果兩字串長度不同,則直接輸出no,否則,則把乙個字串接在其自身後面形成乙個新串,然後查詢另乙個字串是否是新串的子串,如果是則yes,否則no。

複雜度分析:

說明:

下述**全部為【資料結構與演算法實驗 oj 平台】提交過的**。

#include

#include

#include

#define set(s, i) ( (s)[i] - 'a' )

bool

check

(char

* p,

char

* t, size_t i)

return

true;}

long

long

intprepare

(size_t m)

void

update

(long

long

int& hasht,

char

* t, size_t m, size_t k,

long

long

int d)

bool

matching

(char

* p,

char

* t)

for(size_t k =0;

;)}int

main()

}while(1

);return0;

}

PA2014 Bohater 題解(貪心)

前言 一道經典貪心題。題目鏈結 題目大意 你有 z 滴血,要打 n 只怪。打第 i 只怪扣 d i 滴血,回 a i 滴血。問是否存在一種能夠通關的打怪順序。顯然所有怪分為兩種 扣血的怪 d i a i 和回血的怪 d i leq a i 那麼貪心策略是什麼?對於回血的怪,我們有若干貪心策略,例如 ...

PA2014部分題解

之前有一些寫過了大概扔在奇奇妙妙的地方 可能翻一下blog能翻得到的 瞎寫一下最近的題吧 2 242 224這個狀壓和爆搜尷尬的地位 90 s90s 90s果斷狀壓了 把包從大到小排序,記乙個pai rpair pair 的d p mask dp mask dp mas k 表示裝完狀態裡的這些東西...

20181105題解報告

最後的模擬賽儘管打的很糟糕。某國個人所得稅法規定,普通公民的主要應納稅收入專案及納稅金額如下 工資 薪金所得。按月計算徵稅,以每月收入額減除費用800元後的餘額作為該月應納稅所得額,稅率如下表所示 級數月應納稅所得額 稅率 不超過500元的 超過500元 2000元的部分 超過2000元 5000元...