问题标题: 酷町堂:1058 抽查作业,找错

0
0
已解决
张舒斌
张舒斌
中级光能
中级光能

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,min=1001,max=0;
    int s;
    cin>>n>>m;
    int k,j;
    for(int i=1;i<=m;i++)
    {
        cin>>k>>j;
        if(min>k)
        {
            min=k;
        }
        if(max<j)
        {
            max=j;
        }
    }
    s=max-min+1;
    cout<<1000-s;
    return 0;
}

题目在这


2
已采纳
张国鉴
张国鉴
资深守护
资深守护
//你的思路有问题
//我们可以设置一个标志数组,被抽查到的人即为true,没被抽查到的人即为false,最后循环找出标志位false的人数
cin>>n>>m;//n表示人数,m表示老师
for (int i=1;i<=m;i++){//枚举老师
     cin>>x>>y;//区间
     for (int j=x;j<=y;j++){
          a[j]=true;//标志区间内的人被抽查过作业了
     }
}

for (int i=1;i<=n;i++){//统计没有被标记的人数,即为没有被抽查到的人数
     if (!a[i]) count++;//计数器+1
}
cout<<count;//输出计数器

2
蒋智航
蒋智航
高级天翼
高级天翼
for(int i=1;i<=m;i++)
    {
        cin>>x>>y;
        for(int j=x;j<=y;j++)
            a[j]=1;
    }
    for(int i=1;i<=n;i++)
        if(a[i]==0) sum++;

 

0
我要回答