列表

详情


NC231107. 小y的平面

描述

平面上有n个点,第i个点坐标为x_i,y_i,初始小y(0,0),小y每次可以选择从(x,y)走到或者, 求他能否走出一条经过所有n个点的路径

若可以输出“YES” 否则输出“NO”

输入描述

第一行一个正整数

接下来n行每行两个数第i行代表坐标x_i,y_i

输出描述

输出一行代表答案

示例1

输入:

3
2 2
3 3 
4 4

输出:

YES

示例2

输入:

3
2 2
3 5
4 4

输出:

NO

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 670ms, 内存消耗: 508K, 提交时间: 2022-02-24 19:51:39

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int x=0,y=0,x1,y1;
	while(n--){
		cin>>x1>>y1;
		if(x>x1||y>y1){
			cout<<"NO"<<endl;
			return 0;
		}
		x=x1,y=y1;
	}
	cout<<"YES"<<endl;
	return 0;
}

C 解法, 执行用时: 254ms, 内存消耗: 348K, 提交时间: 2022-02-24 19:17:21

#include<stdio.h>


int main(){
    int a,z=-1;
    scanf("%d",&a);
    for(int i=0;i<a;++i){
        int x,y;
        scanf("%d%d",&x,&y);
        if(z>y){printf("NO");return 0;}
        z=y;
    }
    printf("YES");
}

Python3 解法, 执行用时: 1352ms, 内存消耗: 18104K, 提交时间: 2022-04-03 20:28:40

import sys
n = int(input())
c = 0
a,b = 0,0
for i in range(n):
    x,y = map(int,sys.stdin.readline().split())
    if x<a or y<b:
        c = 1
        print('NO')
        break
    a,b = x,y
if c==0:
    print('YES')

上一题