• upc组队赛1 流连人间的苏苏


    流连人间的苏苏

    题目描述

    苏苏在做红尘仙的任务时,发现坐落于风景秀丽、四季如春的昆明市的云南中医学院。

    没过多久,苏苏就喜欢上了这个学校。以致于苏苏忘了回涂山的时间,现在她只剩下d天的时间待在云南中医学院。由于时间紧迫,苏苏想方设法为建设更好的云南中医学院。

    假设学校里某条街道有n个房子。

    每天选择两个门牌号l、r,给这两个门牌号之间的所有房子的门前都栽一棵树,已经有树的不需要再种。

    苏苏想知道在某天,有哪些房子前有树。

    输入

    每个输入文件只有一组数据
    第一行包含n,d。(1 <= n,d <= 1000)
    接下来d行,每行包含两个整数l,r(1 <= l <= r <= n)

    输出

    输出d行。
    每行输出门牌号的区间。每个区间以逗号分隔。
    具体看样例。

    样例输入

    10 4
    1 3
    2 4
    5 6
    8 10

    样例输出

    [1,3]
    [1,4]
    [1,6]
    [1,6],[8,10]

    题解

    记录一下有树的地方,然后暴力 -。-

    代码

    #include<bits/stdc++.h>
    using namespace std;
    #define rep(i,a,n) for(int i=a;i<n;i++)
    #define memset(x,y) memset(x,y,sizeof(x))
    #define memcpy(x,y) memcpy(x,y,sizeof(y))
    #define mst(a,b) memset(a,b,sizeof(a))
    #define all(x) x.begin(),x.end()
    #define readc(x) scanf("%c",&x)
    #define read(x) scanf("%d",&x)
    #define read2(x,y) scanf("%d%d",&x,&y)
    #define read3(x,y,z) scanf("%d%d%d",&x,&y,&z)
    #define print(x) printf("%d
    ",x)
    #define pb push_back
    #define mp make_pair
    typedef pair<int,int> P;
    typedef long long LL;
    typedef long long ll;
    const double eps=1e-8;
    const double PI = acos(1.0);
    const int INF =0x3f3f3f3f;
    const int inf = 0x3f3f3f3f;
    const int MAXN=1e6+7;
    const int maxn=1000000+10;
    const int maxm = 1;
    const int mod=1e9+7;
    int n,d;
    int l,r;
    int visit[maxn];
    
    int main()
    {
        while(read2(n,d) != EOF)
        {
          int imin = INF,imax = -1;
          for(int i = 0; i < d; i++)
          {
            read2(l,r);
            rep(i,l,r + 1)
            {
              visit[i]++;
              imin = min(l,imin);
              imax = max(r,imax);
            }
            rep(i,imin,imax+1)
            {
              if(visit[i])
              {
                int left = i;
                while(visit[i])
                {
                  i++;
                }
                int right = i - 1;
                printf("[%d,%d]%c",left,right,right == imax ? '
    ' : ',');
              }
            }
          }
        }
    }
    
  • 相关阅读:
    WebAssembly API & MDN All In One
    Apple iPhone 14 Pro 药丸设计看不懂,药丸上面那条屏幕缝隙完全没有用处呀?
    API 调试工具 All In One
    macOS Time Machine All In One
    使用 macOS 输入多个空格,会自动添加一个点 bug All In One
    手把手的教你如何使用 Vite 搭建一个 React UI 组件库 All In One
    LeetCode 两数相加算法题解 All In One
    如何把 iPad 作为 Mac 扩展屏幕使用 All In One
    【DEMO】【C/C++】最简单的一种回调函数
    Qt中cvMat与QImage,QPixmap的转换
  • 原文地址:https://www.cnblogs.com/llke/p/10789741.html
Copyright © 2020-2023  润新知