标签:hash
http://ac.jobdu.com/problem.php?pid=1088#
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4276
解决:1919
有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。
两个整数L(1<=L<=10000)和M(1<=M<=100)。 接下来有M组整数,每组有一对数字。
可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。
500 3 100 200 150 300 470 471
298
#include<cstdio>
#include<iostream>
#include<cstring>
using
namespace
std;
int
Hash[10000];
main()
{
L,M,i,j;
/*
for(i=1;i<=10000;i++){
Hash[i]=1;
}*/
while
(
scanf
"%d%d"
,&L,&M)!=EOF){
a,b;
count=0;
for
(i=0;i<=L;i++){
}
(i=0;i<M;i++){
,&a,&b);
(j=a;j<=b;j++){
Hash[j]--;
if
(Hash[i]==1){
count++;
printf
"%d\n"
,count);
return
0;
/**************************************************************
Problem: 1088
User: lanjiangzhou
Language: C++
Result: Accepted
Time:50 ms
Memory:1556 kb
****************************************************************/
九度1088:剩下的树
原文地址:http://blog.csdn.net/lanjiangzhou/article/details/42394671