UVa10050 - Combination Lock (水題)

題目大意:

解保險箱鎖盤,透過他獨家的開鎖方式,試問你需要轉幾度,

  1. 先轉順時鐘兩圈
  2. 順時鐘轉到第 1 個密碼
  3. 逆時鐘再轉一圈
  4. 逆時鐘轉第二個密碼
  5. 順時鐘轉第三個密碼

分析:

在開鎖時,必定要轉 3 圈,所以角度 必定是 360*3。

當順時鐘在轉時,但表其實是逆時鐘,我理解了很久才能理解 (作者理解力還需加強)

Ex: 0度 轉至 30度
A: 你會覺得 應該是轉了 30度,但不是這樣的。
對於表的指針來說,實際上只轉了 10度。 (酷吧)

逆時鐘則將 0 , 30 互換即可,意思大同小異。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <bits/stdc++.h>
#define LOCAL
using namespace std;


int main()
{
#ifdef LOCAL
freopen("in1.txt" , "r" , stdin);
#endif // LOCAL
int a, b, c, d ;
while(cin >> a >> b >> c >> d && (a + b + c + d) != 0){
int calibration = 120;
calibration += (40 + a - b ) % 40 ;
calibration += (40 - b + c ) % 40 ;
calibration += (40 + c - d ) % 40 ;
cout << calibration * 9 << '\n' ;
}
return 0;
}
  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: