UVa12918 - Lucky Thief (水題)

題目大意:

小偷有 a 把 key 與 b 的房子,小偷想要找出 key 於房間的配對,每個 key 只能跟一個房間配對。

請告訴小偷,在有邏輯分析的情況下,小偷最少需要失敗幾次才能成功知道每個 key 要配每個房間。
P.S. a <= b

分析:

最非常簡單的題目,但是我竟然卡關了 20 分鐘…,老人家不給力阿。

最後是向一個對數學敏感的朋友,才發現他只需要「嘗試失敗」,不需要計算成功次數。害我在那邊思考半天rrrrr

使用梯形公式 (上底 + 下底 ) * 高 /2 即可。(等差公式)

上底:(house -1 ) 因為最多只會失敗 house -1
下底:(house - key) 因為 key 數量就只有這麼多,後面的房子不需要常識。
高: (key) 乘以 key 數量

非常簡單,你一定也可以地啦!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#define ll long long
using namespace std;

int main()
{
ll t ;
cin >> t ;
while(t--){
ll a , b;
cin >> a >> b ;
ll sum ;
sum = ((b-a) + (b-1))* a / 2 ;
cout << sum << '\n' ;
}

}
  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: