题解:P17134 [KOI 2026 #1] 邻居

· · 题解

题面简述

定义第 i 与第 j 名学生为邻居,当且仅当 i\ne j,且以下任意一个条件成立:

对于每一位学生,枚举其他学生条件是否成立即可。

代码

#include <bits/stdc++.h>
using namespace std;

int N, K1, K2;
int school[3005];

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin >> N >> K1 >> K2;
    for(int i = 1; i <= N; i++){
        cin >> school[i];
    }

    int cnt;
    for(int i = 1; i <= N; i++){
        cnt = 0;
        for(int j = 1; j <= N; j++){
            if(j == i) continue;

            if(school[i] == school[j] && abs(j - i) <= K1 ||
               school[i] != school[j] && abs(j - i) <= K2){
                cnt++;
            }
        }
        cout << cnt << " ";
    }

    return 0;
}