C++ 实现 小Z 的站点旅行 最短时间
#include
int n, ans, sum; int a[25010];
int main(void) { cin >> n; for(int i = 1; i <= n; i++) { cin >> a[i]; }
int start = 1;
for(int i = 1; i <= n; i++) {
if(a[i] == a[i - 1]) continue;
sum++;
if(start == 1 && a[i] == 1) ans += 0;
else if(start == 1 && a[i] == 2) ans += 3;
else if(start == 1 && a[i] == 3) ans += 1;
else if(start == 1 && a[i] == 4) ans += 2;
else if(start == 2 && a[i] == 1) ans += 3;
else if(start == 2 && a[i] == 2) ans += 0;
else if(start == 2 && a[i] == 3) ans += 4;
else if(start == 2 && a[i] == 4) ans += 1;
else if(start == 3 && a[i] == 1) ans += 1;
else if(start == 3 && a[i] == 2) ans += 4;
else if(start == 3 && a[i] == 3) ans += 0;
else if(start == 3 && a[i] == 4) ans += 3;
else if(start == 4 && a[i] == 1) ans += 2;
else if(start == 4 && a[i] == 2) ans += 1;
else if(start == 4 && a[i] == 3) ans += 3;
else if(start == 4 && a[i] == 4) ans += 0;
start = a[i];
if(sum > 4) {
start = 1;
sum = 0;
}
}
cout << ans << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qxSb 著作权归作者所有。请勿转载和采集!