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);
}
posted @ 2021-12-21 21:06  Eason_AC  阅读(40)  评论(0)    收藏  举报