列舉法 acm辦公室的故事

2021-09-30 14:31:46 字數 1559 閱讀 3981

都知道實驗室裡小袁,小劉,小邊是非常非常好的好朋友,最近這三個人在實驗室感覺非常的無聊,於是小袁想出了乙個點子來測試一下他們的默契程度,他讓小劉,小邊,還有他自己都拿乙個矩形的木板,如果這三個木板能拼成乙個正方形,代表著他們很有默契,如果不能,那麼就沒有默契。小袁很愁,因為這個問題已經難道他們三個了,請你寫一段**告訴他們到底有沒有默契。

* 有多組測試資料,每組測試資料報括三行,第一行代表第乙個矩形的長和寬,第二行代表著第二個 矩形的長和寬,第三行代表第三個矩形的長和寬。*

以單獨的一行來輸出答案,如果有默契請輸出」yes「,否則輸出「no」,輸出沒有雙引號。

sample input

8 2

1 6

7 6

sample output

yes題目分析:這個題的難點在於三角形邊的描述,針對此,可先對邊進行排序,使較長邊在前面,較短邊在後面,然後在按矩形的長對三個矩形在進行排序。這樣就可以使對邊的描述變簡單。

** 接下來在分析如何判斷輸入的三個資料符合條件,可以把這個題想象成將乙個大的正方形用兩刀切成三個矩形,大的方面來說有兩種情況:兩刀平行,兩刀不平行。

對於兩刀不平行的情況又可以按不含最長邊兩個矩形的邊分為:長 + 長 = 正方形的邊。長+ 寬,寬 + 長 ,寬 + 寬 共四種情況。列舉即可 **

#include

#include

#include

#include

#include

using namespace std;

bool cmp(paira, pairb)

int main()

p.first = temp1;

p.second = temp2;

v.push_back(p);

for(int i = 0; i <= 1;++i)

p.first = temp1;

p.second = temp2;

v.push_back(p);

}sort(v.begin(),v.end(),cmp);

if(v[0].first == v[1].first && v[1].first == v[2].first )

if(v[0].second + v[1].second + v[2].second == v[0].first)

if(v[1].second + v[2].first == v[0].first)}}

if(v[2].second + v[1].first == v[0].first)}}

if(v[1].first + v[2].first == v[0].first)

}if(v[1].second + v[2].second == v[0].first)}}

if(flag == 1)

cout << "yes"

<< endl;

else

cout << "no"

<< endl;

}return0;}

辦公室的進餐禮儀

在辦公室裡用餐,一次性餐具最好立刻扔掉,不要長時間擺在桌子或茶几上。如果有突然事情裡耽擱,也記得禮貌地請同事代勞。客氣的請求易於被他人接受。容易被忽略的是飲料罐,只要是開了口的,長時間擺在桌上總是有損辦公室雅觀。如查不想馬上扔掉,或者想等會兒再喝 把它藏在不被人注意的地方。吃起來亂濺以及聲音很響的食...

辦公室裝修辦公隔斷的注意事項

現在的辦公室裝修基本是打造的開放式辦公空間,而再把需要功能分割槽的部分單獨隔開,比如財務室 會議室 經理和老闆辦公室。這樣的情況下,辦公隔斷是必不可少的,但是,傳統的隔斷當然是砌牆,而當下辦公隔斷的做法有很多種,所以在進行隔斷牆的選擇時要注意以下幾點 1 裝飾性 辦公隔斷的主要能夠實現多元化發展主要...

譯稿 IBM的虛擬全球辦公室

感謝匿名人士的投遞 ibm也許已經找到了一種方法來克服新員工在地理和文化上的差異。當ibm無法把新招聘的員工融合在一起時,它運用3d技術 像sl 使這些 新員工虛擬的聯絡在一起。這可以使他們想和他人密切交流,新 主管chuck hamilton稱 人們相隔千里 對於不以美國為中心的人來說這尤為真實 ...