>데이터 베이스 >MySQL 튜토리얼 >ZOJ 3787 Access System

ZOJ 3787 Access System

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 15:49:071315검색

ZOJ 3787 Access System 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3787 2014 第十一届浙江省赛 L 题目大意:进门系统模拟。进宿舍门要刷身份卡,但是有人刷卡进了门,L秒之内想进的人就不需要刷了,大家都很懒,能不刷就不

ZOJ   3787   Access System

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3787

2014 第十一届浙江省赛 L

题目大意:进门系统模拟。进宿舍门要刷身份卡,但是有人刷卡进了门,L秒之内想进的人就不需要刷了,大家都很懒,能不刷就不刷。给出n个人的到来时间(无序),和刷卡后门会保持开启状态的时间,问哪些人需要刷卡(按给出的顺序算)。

题目分析:结构体存,时间存在一个整数里,另外就是记录给出时的编号和是否需要刷卡的布尔变量。按到来时间排序后顺着刷一遍,得到每个人是否需要刷卡的结果(注意无论如何第一个人是要刷的),然后再按给出顺序排回来输出。

code:

#include<cstdio>
#include<algorithm>
using namespace std;
struct stu
{
    int time,num;
    bool need;
}a[20010];
bool cmp1(stu a,stu b)
{
    return a.time<b.time bool cmp2 a b return a.num int main i scanf while for sort if>=j+l)
            {
                a[i].need=true;
                j=a[i].time;
                sum++;
            }
            else a[i].need=false;
        }
        sort(a,a+n,cmp2);
        printf("%d\n",sum--);
        for(i=0;i<n if return><br>
PS:1A

<p><br>
</p>
<p><br>
</p>
<p><br>
</p>


</n></b.time></algorithm></cstdio>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.