2023年湘潭大學程式設計競賽

2021-08-19 11:26:10 字數 3651 閱讀 2541

a-時間統計

某個實驗需要統計時間,記錄了實驗開始和結束的時間,計算實驗用了多少秒。 

第一行輸入乙個整數n,表示樣例個數。接下來每組樣例兩行,表示開始時間和結束時間,格式為xdayhh:mm:ss,x是乙個整數表示第幾天,0 < x < 20000,hh表示小時,mm表示分鐘,ss表示秒,保證時間合法,結束時間比開始時間晚。
每組資料輸出一行乙個整數,表示經過的秒數。

2

1day03:26:12

1day04:26:12

123day15:00:01

19999day15:00:00

3600

1717286399

ac**:

#include#includeusing namespace std;

int main()

if(h[1]-h[0]>0)

if(h[1]-h[0]<0)

if(m[1]-m[0]>0)

if(m[1]-m[0]<0)

if(s[1]-s[0]>0)

if(s[1]-s[0]<0)

printf("%lld\n",sum);}}

}

b-string

有乙個只包含大寫字母和數字的字串s,和乙個6*6的字元組成的正方形如下圖,正方形中恰好包含0-9和a-z各乙個字元。正方形的一行在字串s中的出現次數是這行6個字元在s中出現次數的總和,正方形的一列在字串s中的出現次數是這列6個字元在s中出現次數的總和。如果正方形中乙個字元所在行的出現次數是所有行中最多,並且所在列的出現次數是所有列中最多,這個字元是需要被找出的。

012345

6789ab

cdefgh

ijklmn

opqrst

uvwxyz

第一行是乙個整數t(1 ≤ t ≤ 400),表示樣例的個數。

每個樣例一行字串s,長度1≤ len ≤ 500。

每組資料輸出一行需要找出的所有字元,如果需要找出的字元有多個,所在行不同的按行從小到大排序,所在行相同的按列從小到大排序。

示例1

3

13579

aadd

0123456789abcdefghijklmnopqrstuvwxyz

13

7adg

0123456789abcdefghijklmnopqrstuvwxyz

思路:這道題其實不複雜,要點是先建立與題給一樣的表,然後計算輸入的串中每個字元的所在行列出現的次數,最後輸出最大的行列字母

ac**:

#includeusing namespace std;

char str[6][6]=,,,

,,

};int main()

//下面兩個for要特別注意

for(int i=0;imax1) max1=hang[j];

if(lie[j]>max2) max2=lie[j];

}for(int j=0;j<6;j++)

for(int k=0;k<6;k++)

printf("\n");}}

return 0;

}

c-boom

緊急事件!戰場內被敵軍埋放了n枚炸彈!

我軍情報部門通過技術手段,掌握了這些炸彈的資訊。這些炸彈很特殊,每枚炸彈的波及區域是乙個矩形。第i枚炸彈的波及區域是以點(x

i1,y

i1)為左下角,點(x

i2,y i2

)為右上角的矩形。

mostshy,作為我軍的指揮官,想要知道,如果這些彈同時被敵軍引爆,最多將有多少枚炸彈會波及到同乙個區域(不考慮邊界和角落)。

第一行是乙個整數t(1 ≤ t ≤ 50),表示樣例的個數。

以後每個樣例第一行是乙個整數n(1 ≤ n ≤ 50),表示炸彈的個數。

接下來n行,每行四個整數,第i行為xi

1,yi

1,xi

2,yi

2(0 ≤ xi

1,yi

1,xi

2,yi

2≤ 100),輸入保證合法。

每個樣例輸出一行,乙個整數,表示最多將有多少枚炸彈會波及到同乙個區域。
示例1

1

20 0 50 50

40 40 100 100

2

在左下角為(40,40),右上角為(50,50)的矩形區域內,有兩個炸彈同時波及,所以答案為2。

思路:當時沒有想出來,把整個問題考慮得太過複雜了。實際上這個問題有點類似於列舉,把每一塊涉及到**得區域進行標記,重複**的區域的標記值加一,然後輸出最大的標記值就可以了

ac**:

#includeusing namespace std;

int main()

printf("%d\n",max);}}

return 0;

}

e-吃貨

作為乙個標準的吃貨,mostshy又打算去聯建商業街覓食了。

混跡於商業街已久,mostshy已經知道了商業街的所有美食與其**,而且他給每種美食都賦予了乙個美味度,美味度越高表示他越喜愛這種美食。

mostshy想知道,假如帶t元去商業街,只能吃一種食物,能夠品味到的美食的美味度最高是多少?

第一行是乙個整數t(1 ≤ t ≤ 10),表示樣例的個數。

以後每個樣例第一行是兩個整數n,m(1 ≤ n,m ≤ 30000),表示美食的種類數與查詢的次數。

接下來n行,每行兩個整數分別表示第i種美食的**與美味度di,ci (1 ≤ di,ci ≤ 109)。

接下來m行,每行乙個整數表示mostshy帶t(1 ≤ t ≤ 109)元去商業街覓食。

每個查詢輸出一行,乙個整數,表示帶t元去商業街能夠品味到美食的最高美味度是多少,如果不存在這樣的美食,輸出0。

1

3 31 100

10 1000

1000000000 1001910

1000000000

100

1000

1001

大量的輸入輸出,請使用c風格的輸入輸出。

值得注意的是:

這道題的資料過大,暴力查詢的方法會tle。

先對資料進行預處理,然後再用二分查詢。

ac**:

#include#include#includeusing namespace std;

struct node

q[30010];

bool cmp(node a,node b)

{ return a.val

2023年湘潭大學程式設計競賽 A題

今晚6點跟隊友去打這個比賽,因為第二天有考試,所以沒有打到結束,打了兩個小時就匆匆回宿舍複習了。題目感覺有難的,有簽到題,直接說題吧 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 某個實驗需要統計時間,記錄了實驗開...

2023年湘潭大學程式設計競賽 C Boom

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 緊急事件!戰場內被敵軍埋放了n枚炸彈!我軍情報部門通過技術手段,掌握了這些炸彈的資訊。這些炸彈很特殊,每枚炸彈的波及區域是乙個矩形。第i枚炸彈的波及區域是以點 x i1...

2023年湘潭大學程式設計競賽(C Boom)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 緊急事件!戰場內被敵軍埋放了n枚炸彈!我軍情報部門通過技術手段,掌握了這些炸彈的資訊。這些炸彈很特殊,每枚炸彈的波及區域是乙個矩形。第i枚炸彈的波及區域是以點 x i1...