為了提公升使用者帳號的安全性,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...