题目本身倒是不难,我错在了一个点,就是数组的建立,规定长度为l的马路,l最长为10000,但是0,1,2,.........,10000都种有树,所以建立数组做标记的时候一定要建立大于等于10001的数组,否则就会RE。
import java.util.Scanner;
public class p1047 {
public static void main(String[] args) {
int a, b, sum = 0, i, j, k;
Scanner scanner = new Scanner(System.in);
a = scanner.nextInt();
b = scanner.nextInt();
int e[][] = new int[b][2];
long g[] = new long[10001];
for (i=0;i<=a;i++) {
g[i]=0;
}
for(i=0;i<b;i++){
for(j=0;j<2;j++){
e[i][j]=scanner.nextInt();
}
}
for(i=0;i<b;i++){
for(k=e[i][0];k<=e[i][1];k++) {
g[k]++;
}
}
for (i=0;i<=a;i++) {
if (g[i]==0){
sum++;
}
}
System.out.print(sum);
}
}