4 条题解

  • 0
    @ 2024-10-25 19:53:34

    很简单的模拟题。考虑二重循环模拟。

    第一重循环 i=1ni=1\sim n,第二重循环 j=i+1nj=i+1\sim n,然后再进行判断即可。

    时间复杂度 Θ(n2)Θ(n^2),可以通过本题。

    伪代码

    input(a)\bold{input}(a)

    for i=1n:\bold{for}\ i=1\sim n:

        for j=i+1n:\ \ \ \ \bold{for}\ j=i+1\sim n:

            if aiaj=k:\ \ \ \ \ \ \ \ \bold{if}\ |a_i-a_j|=k:

                (Yes)\ \ \ \ \ \ \ \ \ \ \ \ (Yes)

    (No)(No)

    AC Code

    #include<bits/stdc++.h>
    using namespace std;
    vector<int> a(1);
    int main() {
        int n,k;
        cin>>n>>k;
        for(int i=1;i<=n;i++) {
            int x;
            cin>>x;
            a.push_back(x);
        }
        for(int i=1;i<=n;i++) {
            for(int j=i+1;j<=n;j++) {
                if(abs(a[i]-a[j])==k) {
                    cout<<"Yes";
                    return 0;
                }
            }
        }
        cout<<"No";
        return 0;
    }
    

    信息

    ID
    67
    时间
    3000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    385
    已通过
    244
    上传者