文章

33

粉丝

0

获赞

146

访问

4.6k

头像
有没有B树??? 题解:误导的题目
P1507
发布于2026年3月19日 17:15
阅读数 66

根据我们严肃观察,这个有序的定义是这样的:

112  113  √

111  131  x

根据我们的幼儿园知识。所以不难观察出,满足以下条件即可

①逆序对的个数为偶数

②元素不能全为同一个值

,即可满足有序定义。

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

int main() {
    int n;
    cin >> n;
    int a[105];
    for (int i = 0; i < n; i++) cin >> a[i];

    // 判断是否所有元素都相同
    bool all_same = true;
    for (int i = 1; i < n; i++)
        if (a[i] != a[0])
            all_same = false;

    // 统计逆序数
    int inv = 0;
    for (int i = 0; i < n; i++)
        for (int j = i + 1; j < n; j++)
            if (a[i] > a[j])
                inv++;

    // 判断
    if (inv % 2 == 0 && !all_same)
        cout << "Have B Tree" << endl;
    else
        cout << "Have Not B Tree" << endl;

    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发