题目描述:
牛牛和牛妹新买的房子需要铺上地毯,不过,由于是一个挖掘机户型,有一条很长的走廊,为这条走廊铺上地毯可谓是煞费脑经。
假设这条走廊长为L,用下标1~L代表位置,牛牛总觉得在某个位置铺上一块地毯可以增加颜值,用样的,牛妹觉得在另一些位置铺上地毯也看了一增加颜值,假设两个人一有想法就会付诸行动,那么,在两人停手铺地毯之后,每个位置上各有几块地毯覆盖?

输入状态:
本题为多组测试数据,第一行输入一个正整数 T (1<=T<=1000),代表测试数据组。
对于每组测试数据,输入两个整数L,n(1<=L,n<=1000),分别代表走廊的长度以及牛牛和牛妹一共有多少个铺地毯的想法。
接下去n行,每行两个正整数 l ,r(1 <= l <= r <= L ),代表在闭区间[l,r]上需要铺上一块地毯。

输出描述:
对于每组测试数据,一行输出L个整数,依次代表每个位置上被多少块地毯所覆盖。
例1 输入输出示例仅供调试
输入

1
6 3
1 2
4 5
3 6

输出

1 1 1 2 2 1

C++解答,仅供参考。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<vector>
using namespace std;

int main(){

    int T;
    while(cin >> T){
       
       vector<int> a(1001),b(1001);
       for(int i=1;i<=T;i++){

           cin >> a[i] >>b[i];
           vector<int> result(a[i]+1,0);

           for(int j=1;j<=b[i];j++){
               int begin=0,end=0;
               cin >> begin >> end;
               for(int k=begin;k<=end;k++){
                   result[k]+=1;
               } 
           }

           for(int p=1;p<=a[i];p++){
               cout << result[p] << " ";
           }
           cout << endl;
       }
    }
    
    return 0;

}

图片:
在这里插入图片描述
欢迎关注公众号,干货满满。
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐