2022 ccf c时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022 ccf c时间相关的知识,希望对你有一定的参考价值。

参考技术A CCF CSP认证举办次数,将在2022年调整为4次,分别为CSP25次、CSP26次、CSP27次、CSP28次,相应的认证时间分别为3月20日,6月19日,9月18日,12月11日。

CCF能力认证历届第二题

201809-2. 买菜

技术分享图片

解题思路:

主要就是判断小H和小W的装车时间段是否有重叠区间。关于判断重叠区间,对于给定的两个区间(a,b)和(c,d),显然当且仅当a≤d且b≥c时才会有重叠区间,而重叠区间长度L为min(b,d)-max(a,c),把所有重叠区间的长度进行累加求和,就可以知道俩人可以聊多长时间。

100分代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 void Input(int a[][2],int n);  //用来输入装车时间
 5 
 6 int main()
 7 {
 8     int n;
 9     cin >> n;   //时间段的数量
10     int H[n][2];   //小H的各个装车的时间段
11     Input(H,n);
12     int W[n][2];   //小W的各个装车的时间段
13     Input(W,n);
14     int ans = 0;
15     for (int i = 0; i < n; i++)
16     {
17         for (int j = 0; j < n; j++)
18         {
19             //对于给定的两个区间(a,b)和(c,d),显然当且仅当a≤d且b≥c时才会有重叠区间
20             if(H[i][0]<=W[j][1]&&H[i][1]>=W[j][0])   //判断有无重叠区间
21             {
22                 //重叠区间长度L为min(b,d)-max(a,c)
23                 ans += min(H[i][1],W[j][1])-max(H[i][0],W[j][0]);    //加上重叠区间
24             }
25         }
26     }
27     cout << ans << endl;
28     return 0;
29 }
30 
31 void Input(int a[][2],int n)
32 {
33     for (int i = 0; i < n; ++i)
34     {
35         cin >> a[i][0] >> a[i][1];
36     }
37 }

 

 

未完待续····

以上是关于2022 ccf c时间的主要内容,如果未能解决你的问题,请参考以下文章

2022 CCF中国开源大会会议通知(第三轮)

中国计算机学会2022年度CCF会士名单公布 阿里云李飞飞等9位当选

中国计算机学会CCF2022年推荐国际学术会议和期刊列表(A类)附网址

聚焦可信AI,CCF BDCI 2022阅读理解可解释评测获奖方案直播分享

聚焦可信AI,CCF BDCI 2022阅读理解可解释评测获奖方案直播分享

聚焦可信AI,CCF BDCI 2022阅读理解可解释评测获奖方案直播分享