UVa12468
題目
http://domen111.github.io/UVa-Easy-Viewer/?12468
有一台電視共有 臺頻道,由 ~,並且是環狀的,也就是說我可以從 轉到第 ,反之亦同
現在要從頻道 轉到頻道 ,每次只能轉一臺,正向或是逆向都可,求最少的轉移數
想法
分別算出正著轉以及逆著轉所需的移動次數,取最小值即可
當我從 轉到
- 正轉
- 逆轉
因為是環,所以當我轉到變成負數,只要在加上 就可以回到應該到的位置上了
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include<iostream> using namespace std; int main(){ int a,b; while(cin>>a>>b){ if(a==-1 && b==-1) break; int forward = b-a; int reverse = a-b; if(forward<0) forward+=100; if(reverse<0) reverse+=100; cout<<min(forward, reverse)<<"\n"; } return 0; }
|
複雜度分析
每筆測資時間複雜度為
未找到相關的 Issues
請聯絡 @Koios1143 初始化評論