CF34A Reconnaissance 2 题解
Content
有 \(n\) 士兵站成一个环,第 \(i\) 个士兵的身高为 \(h_i\),试求两个士兵身高差最小的两个人的编号,如果有多组解,输出任意一组即可。
数据范围:\(2\leqslant n\leqslant 100,1\leqslant a_i\leqslant 1000\)。
Solution
这题目不就一把枚举吗……
反正只需要枚举 \(100\) 次,足以通过本题。
至于枚举什么……应该不用讲吧。
记录好答案然后输出就好。
总体来说非常简单。
Solution
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int n, a[107], ans = 1000, ans1, ans2;
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
scanf("%d", &a[i]);
for(int i = 1; i < n; ++i) {
if(ans > abs(a[i] - a[i + 1])) {
ans = abs(a[i] - a[i + 1]);
ans1 = i, ans2 = i + 1;
}
}
if(ans > abs(a[n] - a[1])) {
ans = abs(a[n] - a[1]);
ans1 = n, ans2 = 1;
}
printf("%d %d", ans1, ans2);
}

浙公网安备 33010602011771号