1 条题解

  • 0
    @ 2025-10-10 15:48:08

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){
    	//有树标记为0,没有树标记为-1 
    	int l,m,a[10010] = {0},i,x,y,c = 0,j;
    	cin>>l>>m;
    	for(i = 1;i <= m;i++){
    		cin>>x>>y;
    		for(j = x;j <= y;j++){
    			if(a[j] == 0){
    				a[j] = -1;
    				c++;	
    			}
    		}
    	}
    	
    	cout<<l+1-c;
    }
    

    Pascal :

    var a,b,c:array[0..10000] of longint;
        l,m,i,j,k,s:longint;
    begin
    read(l,m);
    for i:=0 to l do
    a[i]:=1;
    for i:=1 to m do
    read(b[i],c[i]);
    for j:=1 to m do
    for k:=b[j] to c[j] do
    a[k]:=0;
    for i:=0 to l do
    s:=s+a[i];
    write(s);
    end.
    

    Java :

    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int num1 = scanner.nextInt();
            int num2 = scanner.nextInt();
    
    //        String str = new String();
            int[] a = new int[num2 * 2];
            int[] b = new int[num1+1];
            double s1 = 0,s2 = 0,avg1,avg2;
            int[] count = new int[10000];
            for (int i = 0; i < num2 * 2; i++) {
                a[i] = scanner.nextInt();
            }
            for (int i = 0; i <= num1; i++) {
                b[i] = 1;
            }
            int j ,k;
            for (int i = 0; i < num2 * 2; i+=2) {
                j = a[i];
                k = a[i + 1];
                for(int m = j;m <= k;m++){
                    b[m] = 0;
                }
            }
            int x = 0;
            for (int i = 0; i <= num1; i++) {
                if(b[i] != 0)x++;
            }
            System.out.println(x);
    
    
        }public static void paiXu(int[] a,int length){
            int temp;
            for(int i = 0;i < length - 1;i++){
                for(int k = 0;k < length - i - 1;k++){
                    if(a[k] > a[k + 1]){
                        temp = a[k];
                        a[k] = a[k + 1];
                        a[k + 1] = temp;
                    }
                }
            }
        } public static void paiXud(int[] a){
            int temp;
            for(int i = 0;i < a.length - 1;i++){
                for(int k = 0;k < a.length - i - 1;k++){
                    if(a[k] < a[k + 1]){
                        temp = a[k];
                        a[k] = a[k + 1];
                        a[k + 1] = temp;
                    }
                }
            }
        } public static void paiXux(int[] a){
            int temp;
            for(int i = 0;i < a.length - 1;i++){
                for(int k = 0;k < a.length - i - 1;k++){
                    if(a[k] > a[k + 1]){
                        temp = a[k];
                        a[k] = a[k + 1];
                        a[k + 1] = temp;
                    }
                }
            }
        }
    
        public static int MAX(int[] a){
            int max = a[0];
            for (int i = 0; i < a.length; i++) {
                if(max < a[i]){
                    max = a[i];
                }
            }
            return max;
        }
    
        public static int MIN(int[] a){
            int min = a[0];
            for (int i = 0; i < a.length; i++) {
                if(min > a[i]){
                   min = a[i];
                }
            }
            return min;
        }
        public static int sum(int a){
            int x,s = 0;
            while(a != 0){
                x = a % 10;
                s = s + x;
                a /= 10;
            }
            return s;
        }
        public static boolean isPrime(int a){
            if(a <= 1)return false;
            else
            for(int i = 2;i <= Math.sqrt(a);i++){
                if(a % i == 0)return false;
            }return true;
        }
    
        public static int qiuYu(int i){
            int a;
            a = i % 10;
            return a;
        }
    }
    

    Python :

    ml=list(map(int,input().split()))
    ml[0]=ml[0]+1
    bl=[]
    for i in range(ml[1]):
        tl=list(map(int,input().split()))
        bl.append(tl)
    list=[]
    for i in range(ml[0]):
        list.append(1)
    for i in bl:
        list[i[0]]=0
        for j in range(i[1]-i[0]):
            list[j+i[0]+1]=0
    t=0
    for i in range(len(list)):
        if list[i]==1:
            t+=1
    print(t)
    
    • 1

    信息

    ID
    450
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者