刷題訓練 字元菱形

2021-08-08 18:53:45 字數 1676 閱讀 2114

時間限制:500ms  記憶體限制:1000k

zayhero 在印度比賽時的紀念品是一幅精緻的竹葉畫。他在看其他選手的竹葉畫時發現其中一幅是以字元

菱形為基礎畫出來的。下圖就是半徑為1---5 時的字元菱形。

那幅畫的構圖,就是將很多個半徑為10 的字元菱形不斷延伸畫成。由於這種圖案包含了太多字元,所以

zayhero 覺得很混亂,為了理清思路,他需要知道畫面上的字元分別有多少個。但由於畫面太大了,所以

他每次只能看到畫面的一部分,假設這個部分是乙個矩形,請計算該矩形內部某種字元的個數。

在下面的圖中,黃色部分的左上角為(13, 12),右下角為(53, 25),這個區域內沒有字元a,但有12 個字

符e,49 個字元i,58 個字元j。

第一行,乙個整數t (t <= 500),為測試資料組數。

之後2t 行,每2 行表示一組測試資料。每組資料

第一行,乙個字元ch,表示需要計算個數的字元種類(a <= ch <= j)。

第二行,四個整數x1,y1,x2,y2,(1<=x1 <= x2<=50000,1<=y1 <= y2<=50000),表示詢問

的矩陣的範圍,其中(x1,y1)為矩形左上角,(x2,y2)為右下角。

請注意,在本問題中,原點在左上角,而非一般的左下角。

每組資料輸出一行,輸出需要計算的字元個數,具體格式見sample。

8

j1 1 19 19

a1 1 1 1

a13 12 53 25

e13 12 53 25

i13 12 53 25

j13 12 53 25

f13 23 33 333

g2 2 100 100

case 1: 36

case 2: 0

case 3: 0

case 4: 12

case 5: 49

case 6: 58

case 7: 397

case 8: 630

zayhero 

暴力掃tle

除錯許久,才發現自己複製思路時多寫了幾句,算重了

#include #include #include using namespace std;

void fill_in(int square[19],int start_x,int start_y)

}void full_of(int square[19])

}int id_search(int square[19],int x1,int y1,int x2,int y2,int id)

; for(int i=x1;i<=x2;++i)

if(tmp_j<9)j+=((9-tmp_j)*2-1);

else j+=((19-tmp_j)*2-2);}}

ans+=hang;

flag[tmp_i]=1;

if(x2-i>=19)}}

return ans;

}void print(int square[19])

}//#define local

int main()

return 0;

}

演算法訓練 字元刪除

問題描述 編寫乙個程式,先輸入乙個字串str 長度不超過20 再輸入單獨的乙個字元ch,然後程式會把字串str當中出現的所有的ch字元都刪掉,從而得到乙個新的字串str2,然後把這個字串列印出來。輸入格式 輸入有兩行,第一行是乙個字串 內部沒有空格 第二行是乙個字元。輸出格式 經過處理以後的字串。輸...

藍橋杯演算法訓練 字元統計

問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且不超過s的長度。輸出格式 一行,題目要求的字串。輸入樣例1 4 bba...

演算法訓練 字串變換

時間限制 1.0s 記憶體限制 256.0mb 提交此題 問題描述 相信經過這個學期的程式設計訓練,大家對於字串的操作已經掌握的相當熟練了。今天,徐老師想測試一下大家對於字串操作的掌握情況。徐老師自己定義了1,2,3,4,5這5個引數分別指代不同的5種字串操作,你需要根據傳入的引數,按照徐老師的規定...