有乙個由很多木棒構成的集合,每個木棒有對應的長度,請問能否用集合中的這些木棒以某個順序首尾相連構成乙個面積大於 0 的簡單多邊形且所有木棒都要用上,簡單多邊形即不會自交的多邊形。 初始集合是空的,有兩種操作,要麼給集合新增乙個長度為 l 的木棒,要麼刪去集合中已經有的某個木棒。每次操作結束後你都需要告知是否能用集合中的這些木棒構成乙個簡單多邊形。輸入描述:
每組測試用例僅包含一組資料,每組資料第一行為乙個正整數 n 表示操作的數量(1 ≤ n ≤ 50000) , 接下來有n行,每行第乙個整數為操作型別 i (i ∈ ),第二個整數為乙個長度 l(1 ≤ l ≤ 1,000,000,000)。如果 i=1 代表在集合內插入乙個長度為 l 的木棒,如果 i=2 代表刪去在集合內的一根長度為 l 的木棒。輸入資料保證刪除時集合中必定存在長度為 l 的木棒,且任意操作後集合都是非空的。
輸出描述:
對於每一次操作結束有一次輸出,如果集合內的木棒可以構成簡單多邊形,輸出 「yes」 ,否則輸出 「no」。
輸入例子:
5 1 1
1 1
1 1
2 1
1 2輸出例子:
no no
yes
no no
#include
#include
#include
#include
using
namespace
std;
bool judge_polygon(vector
lengths)
else
int max_length = lengths[lengths.size()-2];
part_sum = total_sum - max_length;
if (part_sum > max_length)
else
}}int main()
else
}else
else
}if (judge_polygon(lengths))
else}}
return
0;}
騰訊2017秋招筆試程式設計題
1 程式設計題 編碼 假定一種編碼的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把該編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy 其中a的index為0,aa的index...
騰訊2017秋招筆試程式設計題
五筆的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy,其中a的index為0,aa的index為1,aaa的index為...
騰訊2017秋招筆試程式設計題
遊戲裡面有很多各式各樣的任務,其中有一種任務玩家只能做一次,這類任務一共有1024個,任務id範圍 1,1024 請用32個unsigned int型別來記錄著1024個任務是否已經完成。初始狀態都是未完成。輸入兩個引數,都是任務id,需要設定第乙個id的任務為已經完成 並檢查第二個id的任務是否已...