OpenJudge NOI 2.1 7623:五戶共井問(wèn)題
設(shè)井深為h,A、B、C、D、E家的繩長(zhǎng)分別為a、b、c、d、e。
把輸入的k自己乘以100,從以米為單位轉(zhuǎn)為以厘米為單位。
先想最直接的枚舉思路
若以這種方法做枚舉,那么h要從1枚舉到k(k單位為厘米時(shí),大2000),a~e都要從1枚舉到h,大枚舉次數(shù)為 1 5 + 2 5 + . . . + 200 0 5 1^5+2^5+...+2000^5 15+25+...+20005,該枚舉次數(shù)顯然是不可接受的。
觀察該方程組,共有6個(gè)未知數(shù)5個(gè)方程,只要確定其中一個(gè)未知數(shù)后,就可以解方程。不過(guò)那樣解方程比較麻煩。比較方便的做法是確定兩個(gè)未知數(shù)。
枚舉對(duì)象:h, a
枚舉范圍:
1
≤
h
≤
k
1\le h \le k
1≤h≤k
因?yàn)?
b
>
0
b>0
b>0,且
a
?
n
1
+
b
=
h
a\cdot n_1 + b = h
a?n1?+b=h,所以有
a
>
0
a >0
a>0且
a
?
n
1
<
h
a\cdot n1< h
a?n1
判斷條件:
判斷
e
?
n
5
+
a
=
h
e\cdot n_5 + a = h
e?n5?+a=h是否成立。且a, b, c, d, e互不相等。
當(dāng)k為2000, n 1 n_1 n1?為1時(shí),總枚舉次數(shù)為 1 + 2 + . . . + 2000 = ( 1 + 2000 ) ? 2000 / 2 = 2001000 1+2+...+2000 = (1+2000)*2000/2=2001000 1+2+...+2000=(1+2000)?2000/2=2001000,可以接受。
【題解代碼】 解法1:枚舉#includeusing namespace std;
int main()
{int k, n1, n2, n3, n4, n5;
cin >>k >>n1 >>n2 >>n3 >>n4 >>n5;
k *= 100;//單位變?yōu)槔迕?
for(int h = 1; h<= k; ++h)
for(int a = 1; a*n1< h; ++a)
{ int b = h-a*n1, c = h-b*n2, d = h-c*n3, e = h-d*n4;
if(a != b && a != c && a != d && a != e && b != c &&
b != d && b != e && c != d && c != e && d != e && e*n5+a == h)
{ cout<< h<< ' '<< a<< ' '<< b<< ' '<< c<< ' '<< d<< ' '<< e;
return 0;
}
}
cout<< "not found";
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
本文標(biāo)題:OpenJudgeNOI2.17623:五戶共井問(wèn)題-創(chuàng)新互聯(lián)
瀏覽路徑:http://aaarwkj.com/article26/ihgjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站改版、做網(wǎng)站、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)