Codeforces Round #497 (Div. 2) B. Turn the Rectangles(水题)

原题链接:http://codeforces.com/contest/1008/problem/B

题意:有n个矩阵,然后给出这n个矩阵的宽和高。矩阵可以90°旋转,即仅改变宽和高。问是否可以使矩阵按非上升高度排列,也就是在所有转弯之后,每个矩形的高度必须不大于前一个矩形的高度。


#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 1e5+10;

struct node {
    int x,y;
} Edge[N];

int main() {
    int n;
    scanf("%d",&n);

    scanf("%d%d",&Edge[0].x,&Edge[0].y);
    Edge[0].x = max(Edge[0].x,Edge[0].y);

    if(n == 1)
        printf("YES\n");
    else {
        for(int i=1; i<n; i++) {
            scanf("%d%d",&Edge[i].x,&Edge[i].y);
            int Max = max(Edge[i].x,Edge[i].y);
            int Min = min(Edge[i].x,Edge[i].y);

            if(Max <= Edge[i-1].x) {
                Edge[i].x = Max;
            } else if(Min <= Edge[i-1].x) {
                Edge[i].x = Min;
            } else {
                printf("NO\n");
                return 0;
            }
        }
        printf("YES\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_16554583/article/details/81044107