2021/2/9CCF练习201809(C++)

201809-1
#include
using namespace std;
#define MAX 1000
int value1[MAX];
int value2[MAX];
int main()
{
int n;
cin>>n;
int temp=0;
for(int i=0;i<n;i++)
cin>>value1[i];
value2[0]=(value1[0]+value1[1])/2;
value2[n-1]=(value1[n-2]+value1[n-1])/2;
for(int i=1;i<n-1;i++)
{
temp=(value1[i-1]+value1[i]+value1[i+1])/3;
value2[i]=temp;
}
for(int i=0;i<n;i++)
cout<<value2[i]<<" ";
return 0;
}
201809-2
#include
using namespace std;
#define MAX 2000
int timeH[MAX][2];
int timeW[MAX][2];
int main()
{
int n;
cin>>n;
int sum=0;
for(int i=0;i<n;i++)
for(int j=0;j<2;j++)
cin>>timeH[i][j];
for(int i=0;i<n;i++)
for(int j=0;j<2;j++)
cin>>timeW[i][j];
int i=0,j=0;
while(i<n&&j<n)
{
if(timeW[j][0]>=timeH[i][1])
i++;
else if(timeW[j][1]<=timeH[i][0])
j++;
else if(timeH[i][0]<=timeW[j][0]&&timeH[i][1]>=timeW[j][1])
{
sum+=timeW[j][1]-timeW[j][0];
j++;
}
else if(timeH[i][0]<=timeW[j][0]&&timeH[i][1]<timeW[j][1])
{
sum+=timeH[i][1]-timeW[j][0];
i++;
}
else if(timeW[j][0]<=timeH[i][0]&&timeW[j][1]>=timeH[i][1])
{
sum+=timeH[i][1]-timeH[i][0];
i++;
}
else if(timeW[j][0]<=timeH[i][0]&&timeW[j][1]<timeH[i][1])
{
sum+=timeW[j][1]-timeH[i][0];
j++;
}
}
cout<<sum<<endl;
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40395925/article/details/113770144