#include #include using namespace std;

int main() { int n; cin >> n;

vector<int> weight(n); // 存储珍珠的重量
vector<bool> isPossible(n, true); // 标记珍珠是否可能是中间重量

for(int i = 0; i < n; i++) {
    cin >> weight[i];
}

int numComparison;
cin >> numComparison;

for(int i = 0; i < numComparison; i++) {
    int p1, p2;
    cin >> p1 >> p2;
    
    // 根据比较结果更新isPossible数组
    if(weight[p1-1] > weight[p2-1]) {
        isPossible[p2-1] = false; // 珍珠p2肯定不是中间重量
    } else {
        isPossible[p1-1] = false; // 珍珠p1肯定不是中间重量
    }
}

int count = 0; // 计数不可能是中间重量的珍珠数量

for(bool possible : isPossible) {
    if(!possible) {
        count++;
    }
}

cout << count << endl;

return 0;

}

C++ 算法:找出不具备中间重量的珍珠

原文地址: https://www.cveoy.top/t/topic/pBcA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录