發氣球系統

2022-06-09 07:39:07 字數 2614 閱讀 2472

時間限制: 1 sec  記憶體限制: 128 mb

[提交] [狀態]

題目描述

今天是網際網路程式設計全國大賽(npsc)的決賽!比賽中有一樣不可或缺的東西,就是「氣球」。

決賽中總共有28支隊伍,參賽的隊伍要在240分鐘內面對7道問題。

比賽中上傳的每乙份程式**,經過評測後會有下列資訊:run id(這份程式**是整個比賽中第幾個上傳的,從 1 開始編號)、submission team(這份程式**是由哪一隊上傳的,隊伍被編號為 1 至 28)、submission time(這份程式**是在第幾分鐘上傳的,可能的資料是整數0至239)、problem id(這份程式**是針對哪一題上傳的,可能的資料會是大寫字母a到g)、

verdict(這份程式**的評測結果,可能的資料為ac、wa、tle跟rte其中之一)。

當一支隊伍,在比賽中首次解開某一題時(也就是上傳程式**至該題並得到ac的 verdict),該隊伍就能在這個時間獲得一顆代表該題的氣球。但若該次上傳的 submission time 大於或等於180,那麼就不會拿到任何氣球,因為此時計分版已經封榜了。

現在請你幫忙撰寫乙個氣球伺服器,我們將給你整場比賽中共 n 個上傳的資訊,請你印出指令指示現場的工作人員傳送氣球。

輸入

第一行包含乙個整數 n,代表決賽中總共有 n 個上傳記錄。

接下來 n 行,每行都包含三個整數 ai,bi,ci 和兩個字串 pi,vi,依序表示這個上傳的 run id、submission team、submission time、problem id 和 verdict。

輸出

對每乙個應該獲得氣球的上傳,請輸出"send balloon of to team at time ."於一行(不包含引號),其中的為該隊解開的題目、為獲得氣球的隊伍、為該上傳的時間,來表示乙個傳送氣球的指令。

請注意傳送氣球的指令要按照 run id 由小到大依序印出,如果乙個獲得氣球的上傳是run id 2,而另乙個是 run id 5,那麼 run id 2的傳送氣球的指令一定要印在比較前面。

在輸出所有傳送氣球的指令後,請輸出"go get snacks."於一行(不包含引號),讓工作人員知道氣球發完,可以去吃點心了。

樣例輸入

copy

10

1 1 1 a tle

2 1 10 a ac

3 2 10 a ac

4 2 100 a ac

5 1 155 g ac

6 1 166 a wa

7 1 177 a rte

8 10 179 c ac

9 11 180 c ac

10 28 239 b ac

樣例輸出 copy

send balloon of a to team 1 at time 10.

send balloon of a to team 2 at time 10.

send balloon of g to team 1 at time 155.

send balloon of c to team 10 at time 179.

go get snacks.

提示【資料規模】

• 1 ≤ n ≤ 105

• ai = i,該 n 行中的 ai 依序為1,2,3,...n

• 1 ≤ bi ≤ 28

• 0 ≤ ci ≤ 239

• ci ≤ cj ∀i ≤ j,該 n 行每乙個 cj 都大於或等於前面每一行的 ci  (∀任意的意思,數學符號

• pi 為a、b、c、d、e、f、g其中乙個

• vi 為ac、wa、tle、rte其中乙個

注意如果該組題已經ac了,再提交一邊即使ac了也不能給他發氣球

就是設乙個二維陣列int y[100][100];//某個組的某個題的狀態

ac**:

#include#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;

inline

intread()

while(ch>='

0'&&ch<='9')

return x*f;

}const

int maxn=1e5+10

;struct

nodea[maxn];

int y[100][100];//

某個組的某個題的狀態

intn;

void

inint()

intmain()

for(int i=0;i)

if(a[i].zhuangtai=="ac"

)

else}}

printf(

"go get snacks.");

}

免費送氣球

c 版本一 題解 每次1操作會往序列底加first個second,first 和 second 都是最大1e9的資料,每次2操作詢問序列中第first到第second個數的和 一開始就感覺有點像線段樹,輸入資料太大我們可以離線處理把資料離散化下,然後扔到線段樹上,維護兩個陣列 sum 區間數的值的和...

分治法「戳氣球」

最後的解法多半是貪心或者動態規劃,大概率動態規劃。但依照流程來看,找不到最優子結構。每次戳氣球都會影響之後戳的氣球,狀態太多了。比如同樣是戳數字5號,因為之前戳氣球的情況不同,左右鄰居不同,這意味著戳5號的情況不能復用。就這樣想著,完全找不到思路。後來發現是被正向思維給限制了 幹想也沒辦法,直接用動...

騰訊面試 戳氣球

有 n 個氣球,編號為0 到 n 1,每個氣球上都標有乙個數字,這些數字存在陣列 nums 中。現在要求你戳破所有的氣球。每當你戳破乙個氣球 i 時,你可以獲得 nums left nums i nums right 個硬幣。這裡的 left 和 right 代表和 i 相鄰的兩個氣球的序號。注意當...