Forráskód Böngészése

resolve question:The Horse Racing

tangs 7 éve
szülő
commit
45cfabb6be
1 módosított fájl, 53 hozzáadás és 109 törlés
  1. 53 109
      section3-2/main.cpp

+ 53 - 109
section3-2/main.cpp

@@ -1,3 +1,4 @@
+//²Î¿¼£º http://blog.csdn.net/u012766950/article/details/38319843
 #include <iostream>
 #include <vector>
 #include <algorithm>
@@ -5,118 +6,61 @@
 using namespace std;
 
 bool compare(int a, int b) {
-    return a > b;
-}
-
-int main2() {
-    cout << "halo" << endl;
-    int i = 1;
-    cout << i << endl;
-    return 0;
+	return a > b;
 }
 
 int main() {
-    int n = 0, tmp = 0;
-    vector<int> tian;
-    vector<int> king;
-    while (cin >> n) {
-        if (n < 1) {
-            break;
-        }
-        int count = 0;
-        for (int i = 0; i < n; i++) {
-            cin >> tmp;
-            tian.push_back(tmp);
-        }
-        for (int i = 0; i < n; i++) {
-            cin >> tmp;
-            king.push_back(tmp);
-        }
-        sort(tian.begin(), tian.end());
-        sort(king.begin(), king.end());
-
-//        cout << " > " << endl;
-        for (int i = 0; i < tian.size(); i++) {
-//            cout << "index:: " << tian.size() << ":" << i << endl;
-            for (int j = 0; j < king.size(); j++) {
-//                cout << king.size() << ":" << j << endl;
-                if (tian.at(i) > king.at(j)) {
-//                    cout << "i: " << i << "; tian: " << tian.at(i) << "; j: " << j << "; king: " << king.at(j) << endl;
-                    tian.erase(tian.begin() + i);
-                    king.erase(king.begin() + j);
-                    count++;
-                    j--;
-
-//                    cout << "-----" << i << "-" << tian.size() << "-" << j << "-" << king.size() << endl;
-                    if (i == tian.size()) {
-                        i--;
-//                        cout << "iiiiii" << i << endl;
-                    }
-                    if (j == king.size()) {
-                        j--;
-                    }
-//                    cout << "----- --- :" << i << ":-:" << tian.size() << ":-:" << j << ":-:" << king.size() << endl;
-                    continue;
-                }
-            }
-        }
-
-
-//        cout << tian.size() << " " << tian.at(0) << endl;
-//        tian.erase(tian.begin());
-//        cout << tian.size() << " " << tian.at(0) << endl;
-//        cout << " < " << endl;
-        for (int i = 0; i < tian.size(); i++) {
-            for (int j = 0; j < king.size(); j++) {
-                if (tian.at(i) == king.at(j)) {
-                    cout << "one i: " << i << "; at:" << tian.at(i) << "; size: " << tian.size() << "; j: " << j
-                         << "; at" << king.at(j) << "; size: " << king.size() << endl;
-                    tian.erase(tian.begin() + i);
-                    king.erase(king.begin() + j);
-                    j--;
-                    if (i >= tian.size()) {
-                        i--;
-                    }
-                    if (j >= king.size()) {
-                        cout << "j - size:" << (j - king.size()) << endl;
-                        cout << "j: " << j << "; size: " << king.size() << "; j > size:" << (j < king.size()) << endl;
-                        j--;
-                    }
-                    cout << "two i: " << i << "; at:" << tian.at(i) << "; size: " << tian.size() << "; j: " << j
-                         << "; at" << king.at(j) << "; size: " << king.size() << endl;
-                    continue;
-                }
-            }
-        }
-
-
-//        cout << " = " << endl;
-//        for (int i = 0; i < tian.size(); i++) {
-//            for (int j = 0; j < king.size(); j++) {
-//                if (tian.at(i) < king.at(j)) {
-//                    cout << "i: " << i << "; -" << tian.at(i) << "; j: " << j << "; -" << king.at(j) << endl;
-//                    tian.erase(tian.begin() + i);
-//                    king.erase(king.begin() + j);
-//                    count--;
-//                    j--;
-//                    continue;
-//                }
-//            }
-//        }
-        count -= tian.size();
+	int n = 0, tmp = 0;
+	vector<int> tian;
+	vector<int> king;
+	while (cin >> n&&n) {
+		int count = 0;
+		for (int i = 0; i < n; i++) {
+			cin >> tmp;
+			tian.push_back(tmp);
+		}
+		for (int i = 0; i < n; i++) {
+			cin >> tmp;
+			king.push_back(tmp);
+		}
+		sort(tian.begin(), tian.end());
+		sort(king.begin(), king.end());
 
-        cout << count * 100 << endl;
+		for (; (tian.size());) {
+			int size = tian.size();
+			if (tian.at(size - 1) > king.at(size - 1)) {
+				count++;
+				tian.erase(tian.begin() + size - 1);
+				king.erase(king.begin() + size - 1);
+			}
+			else if (tian.at(size - 1) < king.at(size - 1)) {
+				count--;
+				tian.erase(tian.begin());
+				king.erase(king.begin() + size - 1);
+			}
+			else if (tian.at(0) > king.at(0)) {
+				count++;
+				tian.erase(tian.begin());
+				king.erase(king.begin());
+			}
+			else if (tian.at(0) < king.at(0)) {
+				count--;
+				tian.erase(tian.begin());
+				king.erase(king.begin() + size - 1);
+			}
+			else {
+				if (tian.at(0) < king.at(size - 1))
+				{
+					count--;
+				}
+				tian.erase(tian.begin());
+				king.erase(king.begin() + size - 1);
+			}
+		}
+		cout << 200 * count << endl;
 
-//        for (int j = 0; j < tian.size(); ++j) {
-//            cout << tian.at(j);
-//        }
-//        cout << endl;
-//        for (int j = 0; j < king.size(); ++j) {
-//            cout << king.at(j);
-//        }
-//        cout << endl;
-        tian.clear();
-        king.clear();
-    }
-    return 0;
+		tian.clear();
+		king.clear();
+	}
+	return 0;
 }