不想學習就來刷水題(持續更新)
阿新 • • 發佈:2020-12-31
來源學校OJ
1、這道題三目運算子優先順序可把我噁心壞了以後一定要加括號:)
題解:區間問題 一維差分就可以
/*
給定區間 [0,L],每個整數點都有一個樹
和M個命令,每個命令把[L,R]樹都清走
問最後還有幾棵樹
*/
#include<bits/stdc++.h>
using namespace std;
int L,M;
int ans;
int sum[10010];
int main()
{
while(cin>>L>>M)
{
if(!L&&!M) break;
memset(sum, 0,sizeof(sum));
sum[0]=1;sum[L+1]=-1;ans=0;
for(int i=1;i<=M;i++)
{
int L,R;
scanf("%d%d",&L,&R);
if(L>R) swap(L,R);
sum[L]--;
sum[R+1]++;
}
for(int i=0;i<=L;i++)
{
if (i==0) ans=ans+sum[0]>0?1:0;
else
{
sum[i]=sum[i]+sum[i-1];
ans=ans+(sum[i]>0?1:0);
}
// cout<<i<<"--"<<sum[i]<<"--"<<ans<<endl;
}
cout<<ans<<endl;
}
return 0;
}
//1 0 0 0 0 -1
//1 -1 0 1 0 -1
//0 -1 0 2 0 -1
1394剩下的樹