NC231107. 小y的平面
描述
平面上有个点,第个点坐标为,初始小在,小每次可以选择从走到或者, 求他能否走出一条经过所有n个点的路径
若可以输出“YES” 否则输出“NO”
输入描述
第一行一个正整数
接下来行每行两个数第行代表坐标
输出描述
输出一行代表答案
示例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')