题解:P17134 [KOI 2026 #1] 邻居
祺祺爱棋Thomas · · 题解
思路:先输入每个学生在哪个学校。然后建立双重循环,枚举并判断每两个学生是否是邻居。
当他们在一所学校中,并且两人所居住房屋之间的距离不超过
当他们不在一所学校中,并且两人所居住房屋之间的距离不超过
代码:
#include <bits/stdc++.h>
using namespace std;
int a[3005];
int main()
{
int n, k1, k2;
cin >> n >> k1 >> k2;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
for (int i = 1; i <= n; i++)
{
int sum = 0, s1 = a[i];
for (int j = 1; j <= n; j++)
{
if (i == j) continue;
int s2 = a[j];
int b = abs(i - j);
if (s1 == s2)
{
if (b <= k1) sum++;
}
else
{
if (b <= k2) sum++;
}
}
cout << sum << " ";
}
return 0;
}