洛谷P1047 [NOIP2005 普及组] 校门外的树经典解法

#include
#include
int main(void)
{
	int l, m, i, x, y, j;
	scanf("%d%d", &l, &m);
	int* p = (int*)malloc((l+1) * sizeof(int));
	for (i = 0; i <= l; i++)
	{
		*(p + i) = 1;
	}
	for (i = 0; i < m; i++)
	{
		scanf("%d%d", &x, &y);
		for (j = x; j <= y; j++)
		{
			*(p + j) = 0;
		}
	}
	for (i = 0,j=l+1; i <= l; i++)
	{
		if (*(p+i) == 0)
		{
			j--;
		}
	}
	printf("%d", j);
	free(p);
	return(0);
}

你可能感兴趣的:(程序设计代码共享)