sol

cookiebus 2023-12-11 8:57:09 2 返回题目

#include <bits/stdc++.h>
using namespace std;
struct Point {
    int x, y;
};
Point a[100];
bool u0(Point p1, Point p2) {
    if (p1.x > p2.x) return true;
    if (p1.x == p2.x && p1.y > p2.y) return true;
    return false;
}
bool u1(Point p1, Point p2) {
    if (p1.x > p2.x) return true;
    if (p1.x == p2.x && p1.y < p2.y) return true;
    return false;
}
bool u2(Point p1, Point p2) {
    if (p1.x < p2.x) return true;
    if (p1.x == p2.x && p1.y > p2.y) return true;
    return false;
}
bool u3(Point p1, Point p2) {
    if (p1.x < p2.x) return true;
    if (p1.x == p2.x && p1.y < p2.y) return true;
    return false;
}
int main() {
    int w0, w1, n;
    while (cin >> w0 >> w1 >> n) {
    	for (int i = 1; i <= n; ++i) {
    		cin >> a[i].x >> a[i].y;
		}
		if (w0 == 0 && w1 == 0) sort(a + 1, a + n + 1, u0);
		if (w0 == 0 && w1 == 1) sort(a + 1, a + n + 1, u1);
		if (w0 == 1 && w1 == 0) sort(a + 1, a + n + 1, u2);
		if (w0 == 1 && w1 == 1) sort(a + 1, a + n + 1, u3);
		for (int i = 1; i <= n; ++i) {
			cout << "(" <<a[i].x << "," << a[i].y << ")" <<endl;
		}
	}
}
{{ vote && vote.total.up }}