30分怎么回事?
查看原帖
30分怎么回事?
1057768
ycx20120224楼主2023/9/16 19:05
#include<iostream>
using namespace std;
int arr[10001]={0};
int j,n,m,a,b,cnt=0,cnt1=0;
int main(void)
{
	cin>>j;
	for(int i=0;i<=j;i++)
	{
		arr[i]=1;
	}
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>m>>a>>b;
		if(m==0)
		{
			for(int k=a;k<=b;k++)
			{
				if(arr[k]==2)
				{
					arr[k]=3;
				}
				else arr[k]=0;
			}
		}
		else if(m==1)
		{
			for(int k=a;k<=b;k++)
			{
				if(arr[k]==0)
				{
					arr[k]=2;
				}
				if(arr[k]==3)
				{
					arr[k]=2;
				}
			}
		}
	}
	for(int i=0;i<=j;i++)
	{
		if(arr[i]==2)
		{
			cnt++;
		}
		else if(arr[i]==3)
		{
			cnt1++;
		}
	}
	cout<<cnt<<endl<<cnt1;
	return 0;
 } 
2023/9/16 19:05
加载中...