题目大意简化为,有一种产品,其中有三个属性参数,ai bi ci,0<=ai,bi,ci<=10^6,如果第i行在数组中存在第j行的ai bi ci 都大于第i行的ai bi ci,则认为该产品为不合格产品,
输入 :
第一行输入n
0<n<=500000
为n个产品
接下来每一行为三个参数ai bi ci
输出,不合格的产品数:
例如:
输入:
3
1 2 3
4 5 6
7 8 9
输出:
2
因为第一行的三个参数小于第二行,第二行的三个参数小于第三行
下面是程序,采用了暴力解法:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<vector<int>> vec;
for (int i = 0; i < N; ++i)
{
vector<int> v(3);
for (int j = 0; j < 3; ++j)
cin >> v[j];
vec.push_back(v);
}
int count = 0;
int index = 0;
for (int i = 0; i < N; i++)
{
if (i == index)
{
continue;
}
if ((vec[i][0]>vec[index][0]) && (vec[i][1]>vec[index][1]) && (vec[i][2] > vec[index][2]))
{
count++;
i = 0;
index++;
}
}
cout << count << endl;
system("pause");
return 0;
}