程式設計練習賽80 A 禁止登入

2021-08-29 13:52:06 字數 1164 閱讀 2225

為了提公升使用者帳號的安全性,h站決定實施一項措施:對在1小時內(注:00:00:00與01:00:00仍視為在1小時內)出現5次或5次以上密碼錯誤的賬戶,暫時禁止該帳號被登入。  

現在小hi拿到了某日全部密碼錯誤的日誌,他想知道有哪些帳號被暫時禁止登入。

第一行包含乙個整數n,代表記錄的行數。  

以下n行每行包含乙個整數a和乙個時間t。其中是a代表密碼錯誤的賬號id;t代表發生時間,格式是"hh:mm:ss"。  

1 ≤ n ≤ 10000  1 ≤ a ≤ 100000  00:00:00 ≤ t ≤ 23:59:59

從小到大輸出所有被禁止登入的帳號id,每個一行。

樣例輸入

10  

1000 00:00:00

1001 00:59:00

1001 00:58:00

1001 01:00:00

1000 01:00:00

1000 02:00:00

1000 03:00:00

1001 01:00:01

1000 04:00:00

1001 01:23:14

樣例輸出

1001
思路:首先可以將時分秒直接轉化為秒單位,三個量就化為乙個量了,接下來排序,按照id從小到大,id相等按照總秒數從小到大。選取連續的5個相等id進行判斷,如果第i個秒數t1,第i+5-1個秒數t2,滿足t2<=t1+3600,立即判定禁止登陸。

注:3600秒等於1小時。同時已經輸出的id做標記,防止重複輸出。

#include #define ll long long

using namespace std;

struct node

a[10010];

int n,x,vis[100010];

char s[20];

bool cmp(node p1,node p2)

else return p1.id}int main()

sort(a+1,a+n+1,cmp);

memset(vis,0,sizeof(vis));

for(int i=5;i<=n;i++)}}

}}

return 0;

}

hihoCoder程式設計練習賽69

時間限制 5000ms 單點時限 1000ms 記憶體限制 256mb 給定乙個小寫字母字串,請判斷它是否有長度為偶數的非空連續回文子串 輸入包含多組資料。每組資料報含一行乙個小寫字母字串 s 1 s 105 對於每組資料如果存在,輸出yes,否則輸出no 樣例輸入 cabbad ababa 樣例輸...

Offer收割 程式設計練習賽1

做了三題,題目都比較暴力。a題 題意 給你乙個三階的幻方,三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。現在準備將乙個三階幻方中的一些陣列抹掉 0代替 交給你來進行還原,並且希望她能夠判斷出究竟是不是只有一組解。如果只有一組解,輸出該三階幻方...

Offer收割 程式設計練習賽7

比較容易想到是o n 2 的解決方案,遍歷n種刪除可能,每次遍歷o n 時間求總高度。前者優化比較困難,因而想辦法優化每次遍歷求高度的時間。由前往後遍歷,當刪除第i個時,先前的排版是連續的,從而通過計數器等累加方法可以求得已完整行的總高度presum,以及當前未完整行的w,h。include def...