import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); int L=scanner.nextInt(); int m=scanner.nextInt(); int a[]=new int[L+1]; for (int i = 0; i < m; i++) { int l=scanner.nextInt(); int r=scanner.nextInt(); for (int j = l; j <= r; j++) { a[j]=1; } } int count=0; for (int i = 0; i < a.length; i++) { if(a[i]==0) { count++; } } System.out.println(count); } }
本题其实不难,想到用数组赋值来做就好了,我一年前做这题是还在想着用数学计算做题,那就很麻烦。设置一个数组,把要修地铁的区域全部设为1,最后遍历统计非1的个数即可