zoukankan      html  css  js  c++  java
  • Codeforces 1294B Collecting Packages

    传送门

    题意:

    一个机器人要经过n个地方,他只能往右(R)和上(U)走,最开始在(0,0)位置,问这n个点能否全部经过,如果不能输出NO,如果能输出YES,并输出路径字符串(只含RU)

    思路:

    先把n个点的坐标排序,然后判断有没有在当前位置不能到达的点,如果有输出NO,如果没有,输出YES,

    代码:

    #include <iostream>
    #include <stdio.h>
    #include <algorithm>
    #include <string.h>
    #include <vector>
    #include <math.h>
    #include <map>
    #include <queue>
    #include <set>
    using namespace std;
    typedef long long ll;
    const int mod=998244353;
    const int MAXN=2e5+50;
    const double pi=3.1415926536;
    int t,n;
    struct sa{
        int x;
        int y;
    }p[1050];
    int cmp(sa a,sa b){
        if(a.x!=b.x)
            return a.x<b.x;
        else
            return a.y<b.y;
    }
    int main()
    {
        //freopen("in.txt","r",stdin);
        scanf("%d",&t);
        while(t--){
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%d%d",&p[i].x,&p[i].y);
            sort(p+1,p+n+1,cmp);
            int flag=1;
            for(int i=2;i<=n;i++){
                if(p[i].x<p[i-1].x||p[i].y<p[i-1].y){
                    flag=0;
                    break;
                }
            }
            if(flag==0){
                printf("NO
    ");
                continue;
            }
            printf("YES
    ");
            int x=0,y=0;
            for(int i=1;i<=n;i++){
                int dx=p[i].x-x;
                int dy=p[i].y-y;
                while(dx--)printf("R");
                while(dy--)printf("U");
                x=p[i].x;
                y=p[i].y;
            }
            printf("
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    近期用过的Linux口令备份
    使用白鹭引擎遇到的一些问题以及一些工具分享
    隐私政策
    又是一年年终总结
    初次数据整理
    skynet的timer似乎有问题
    golang .(type)语法
    mysqlbinlog输出sql
    Mysql中文字符串提取datetime
    ionic4请求skynet服务器的资源跨域问题
  • 原文地址:https://www.cnblogs.com/zzl_Alexander/p/12250590.html
Copyright © 2011-2022 走看看