改一个地方
```
for (j=c[i];j<=c[i+1];i+2)
{
a[j]=0;
}
```
改为
```
for (j=c[i];j<=c[i+1];j+2)
{
a[j]=0;
}
```
by None_g @ 2023-05-13 14:01:31
@[3316084249z](/user/811469)
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10001],b[10001],c[10001];
int x,l,m,i,j;
cin>>l>>m;
for (i=0;i<=m;i+2)//这里应该是i+=2,i+2表示运算没有任何改变,i+=2 等于 i=i+2
{
cin>>c[i]>>c[i+1];
}//c[i]为一个区域的起始点和终止点的坐标。
for (i=0;i<=l;i++)
a[i]=1;
for (i=0;i<=l;i+2) //这里应该是i+=2,i+2表示运算没有任何改变,i+=2 等于 i=i+2
{
for (j=c[i];j<=c[i+1];i+2)//这里应该是i+=2,i+2表示运算没有任何改变,i+=2 等于 i=i+2
{
a[j]=0;
}
}
for (i=0;i<=l;i++)
{
if (a[i]==1)
x+1;
}
cout<<x;
return 0;
}
by _xEr_ @ 2023-05-13 14:02:29
@[3316084249z](/user/811469) 变量+2 仅仅只是运算,变量+=2才是把本身加2,具体见上面的注释
by _xEr_ @ 2023-05-13 14:05:14
@[Xer9536](/user/672815) 改了改,还找到了几个错
```
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10001],b[10001],c[10001];
int x,l,m,i,j;
cin>>l>>m;
for (i=0;i<=m;i+=2)
{
cin>>c[i]>>c[i+1];
}//c[i]为一个区域的起始点和终止点的坐标。
for (i=0;i<=l;i+=2)
a[i]=1;
for (i=0;i<=l;i+=2)
{
for (j=c[i];j<=c[i+1];j+=2)
{
a[j]=0;
}
}
for (i=0;i<=l;i++)
{
if (a[i]==1)
x=x+1;
}
cout<<x;
return 0;
}
```
可以用了,但全WA(悲
by None_g @ 2023-05-13 14:05:23
@[Xer9536](/user/672815) 谢谢大佬
by None_g @ 2023-05-13 14:05:58
@[3316084249z](/user/811469) 别谢我,我超弱,我的所有同学都吊打我![](//图.tk/k)
by _xEr_ @ 2023-05-13 14:46:17