江湖救急 !求大佬援助(c++ ac2)
查看原帖
江湖救急 !求大佬援助(c++ ac2)
866688
AlenLuo楼主2023/10/21 23:39

思路:

把所有输入数据中重复的部分筛选出来 然后用总数减施工的

代码:

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int l,m,num[2][105],h;
int main(){
    cin>>l>>m;
    for(int i=0;i<m;i++){
        cin>>num[0][i]>>num[1][i];
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<m;j++){
            if(num[0][i]==-1||num[0][i]==-1||num[0][j]==-1||num[0][j]==-1) break;
            else if(num[0][i]>num[0][j]){
                if(num[1][i]<num[1][j]&&num[0][i]<num[1][j]){
                    num[0][i]=-1;
                    num[1][i]=-1;
                }
                else if(num[1][i]>num[1][j]&&num[0][i]<num[1][j]){
                    num[1][j]=num[1][i];
                    num[0][i]=-1;
                    num[1][i]=-1;
                }
            }
        }
    }
    for(int i=0;i<m;i++){
        cout<<num[0][i]<<" "<<num[1][i]<<endl;
    }
    for(int i=0;i<=m;i++){
        cout<<h<<endl;
        if(num[0][i]==-1&&num[1][i]==-1) ;
        else h+=num[1][i]-num[0][i]+1;
        
    }
    cout<<l-h+2;
    return 0;
}
2023/10/21 23:39
加载中...