藍橋杯 ADV 301 演算法提高 字串壓縮

2021-10-03 11:05:54 字數 1318 閱讀 3481

資源限制

時間限制:1.0s 記憶體限制:256.0mb

問題描述

編寫乙個程式,輸入乙個字串(其實是一行,包括ascii上可見的各種字元),然後採用如下的規則對該字串當中的每乙個字元進行壓縮:

(1) 如果該字元是空格,則保留該字元;

(2) 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元;

(3) 否則,刪除該字元。

例如,若使用者輸入「occurrence」,經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現仍保留;字元r和e的第二次出現均被刪除,因此最後的結果為:「ocurenc」。

輸入格式:輸入只有一行,即原始字串。

輸出格式:輸出只有一行,即經過壓縮以後的字串。

輸入輸出樣例

樣例輸入

occurrence

樣例輸出

ocurenc

藍橋家的題目也太坑了吧!

題中的乙個字串應該說清楚是一行啊

注意:/可以用memset給乙個陣列初始化為0、-1或乙個很大的數,但是不能用memset函式來賦具體的值。

#include

#include

#include

#include

//ios::sync_with_stdio(false);

typedef

long

long ll;

using

namespace std;

const

int maxn =

1e5;

int a[

200]

;// 可以用memset給乙個陣列初始化為0、-1或乙個很大的數

// 但是不要用memset函式來賦具體的值

// 以後讀入一行字串不要再用gets

intmain()

char s[maxn]

; cin.

getline

(s, maxn)

;int len =

strlen

(s);

int snum[len]

;memset

(snum,0,

sizeof

(snum));

for(

int i =

0; i < len; i++

)for

(int i =

0; i < len; i++)}

return0;

}

藍橋杯 ADV 150演算法提高 週期字串

字串 abcabcabcabc 週期為3,因為它是由4個迴圈 abc 組成的。它同樣是以6為週期 兩個重複的 abcabc 和以12為週期 乙個迴圈 abcabcabcabc 右右現在想給他的朋友大灰狼轉述媽媽講的故事,請幫他寫乙個程式,可以測定乙個字串的最小週期。輸入格式 乙個最大長度為100的無...

藍橋杯 ADV 131演算法提高 選擇排序

問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 i k 為這個新順序。選擇排序的思想極其簡單,每一步都把乙個最小元素放到前面,如果有多個相等的最小元素,選擇排位較考前的放到當前頭部。還...

藍橋杯 ADV 20 演算法提高 交換Easy

問題描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入格式 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換的兩個整數。在一次交換中,如果x和y相等...