tangs 7 лет назад
Родитель
Сommit
20321ba56e
2 измененных файлов с 65 добавлено и 6 удалено
  1. 2 6
      .gitignore
  2. 63 0
      section3-5/section3-5.cpp

+ 2 - 6
.gitignore

@@ -1,9 +1,5 @@
 */.idea/*
 */.vs/*
 */*.sln
-*/*/ReadMe.txt
-*/*/*.vcxproj.*
-*/*/*.vcxproj
-*/*/stdafx.cpp
-*/*/stdafx.h
-*/*/targetver.h
+*/Debug/*
+*/*/*

+ 63 - 0
section3-5/section3-5.cpp

@@ -0,0 +1,63 @@
+// section35.cpp: 定义控制台应用程序的入口点。
+//
+
+#include"stdafx.h"
+
+#include<iostream>
+#include<vector>
+#include<algorithm>
+using namespace std;
+
+
+struct Wooden
+{
+	int length;
+	int weight;
+};
+
+bool compare(Wooden a, Wooden b) {
+	return (a.length < b.length) && (a.weight < b.weight);
+}
+
+int calc(vector<Wooden> woodens) {
+	int cost = 0;
+	int size = woodens.size();
+	int index = 0;
+	for (; size != 0; ) {
+		if (size == 1) {
+			cost++;
+			break;
+		}
+		sort(woodens.begin(), woodens.end(), compare);
+		Wooden node = woodens[0];
+
+		for (int i = 1; i < size; i++) {
+			if (woodens.at(i).length < node.length || woodens.at(i).weight < node.weight) {
+				woodens.erase(woodens.begin());
+				break;
+			}
+			woodens.erase(woodens.begin() + i);
+			size = woodens.size();
+		}
+	}
+	return cost;
+}
+int main()
+{
+	int T, n;
+	vector<Wooden> woodens;
+	int l, w;
+	while (cin >> T) {
+		for (int i = 0; i < T; i++) {
+			cin >> n;
+			for (int j = 0; j < n; j++) {
+				cin >> l >> w;
+				woodens.push_back(Wooden{ l,w });
+			}
+			cout << calc(woodens) << endl;
+			woodens.clear();
+		}
+	}
+    return 0;
+}
+