C++ 算法:找出不具备中间重量的珍珠
#include
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;
}
原文地址: https://www.cveoy.top/t/topic/pBcA 著作权归作者所有。请勿转载和采集!