题目名称 1453. [USACO Nov13]空牛栏
输入输出 empty.in/out
难度等级 ★★☆
时间限制 3000 ms (3 s)
内存限制 64 MiB
测试数据 11
题目来源 Gravatarcqw 于2013-12-07加入
开放分组 全部用户
提交状态
分类标签
模拟
分享题解
通过:31, 提交:76, 通过率:40.79%
Gravataralice5930 100 0.236 s 11.76 MiB C++
GravatarkZime 100 0.388 s 11.76 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.411 s 39.41 MiB C++
Gravatar梦那边的美好ET 100 0.463 s 17.46 MiB C++
Gravatarcstdio 100 0.546 s 23.20 MiB C++
GravatarAAAAAAAAAA 100 0.635 s 14.77 MiB C++
Gravatar, 100 0.645 s 20.96 MiB Pascal
GravatarBennettz 100 0.658 s 14.75 MiB C++
Gravatarkxxy 100 0.673 s 23.20 MiB C++
Gravatarkxxy 100 0.681 s 23.20 MiB C++
本题关联比赛
20131207
关于 空牛栏 的近10条评论(全部评论)
犯了非常愚蠢的错误.........
GravatarJustWB
2017-04-17 13:57 6楼
回复 @啊吧啦吧啦吧 @3504 :现在有用了
Gravatar啊吧啦吧啦吧
2015-07-27 16:24 5楼
@3504 是啊是啊
Gravatar啊吧啦吧啦吧
2015-07-27 16:23 4楼
回复 @物已是·人未非 :
对对对就是傻
GravatarDissolute丶Tokgo
2015-07-27 12:14 3楼
居然要long long 。。。
我也是傻了。。。
Gravatar落尘
2015-07-27 11:53 2楼
我也来当O(n)哥= =
所有的牛“一起走”,最多从n拐回来一次
Gravatarcstdio
2013-12-12 18:47 1楼

1453. [USACO Nov13]空牛栏

★★☆   输入文件:empty.in   输出文件:empty.out   简单对比
时间限制:3 s   内存限制:64 MiB

【题目描述】


    FJ建的新牛棚里有N(2<=N<=3,000,000)个栏位,这N个栏位围成了一个巨大的环形,N个栏位编号依次为0~N-1,其中0号栏位与N-1号栏位相邻。

    到了晚上,FJ的牛会陆续返回牛棚。在每头牛心里都有一个他们最钟意的栏位,然而,如果某头牛最钟意的栏位已经被别的牛抢先占领了,他会从该栏位开始按顺序依次查看后面的栏位,直到找到第一个未被占领的栏位为止,他将占领这个栏位。如果他查看到了N-1号栏位仍未找到空位,他将从0号栏位开始继续找下去。

    给定每头牛所钟意的栏位号,请计算:当所有牛都回栏后,未被占领的牛栏中编号最小的那个。请注意本题的答案跟牛返回牛棚的顺序无关。

    为避免大量读入数据的问题,输入数据只有K(1<=K<=10,000)行,每行的格式为:X Y A B

    其中指定了X*Y头牛最钟意的栏位,即每X头牛依次钟意的栏位为f(1)~f(Y),其中f(i)=(A*i+B) mod N;A,B均在0到1,000,000,000之间。

         切记标准内存限制为64MB。


【输入格式】


第1行:两个空格隔开的整数N,K;

 第2~K+1行:每行包含四个整数X,Y,A,B,含义如上所述。牛的总数不超过N-1,可能有若干行数据都涉及到相同的栏位。


【输出格式】

一行,即求未被占领的栏位中编号最小者。

【样例输入】

10 3
3 2 2 4
2 1 0 1
1 1 1 7

输入解释:共有10个栏位,编号为0~9;第2行数据显示有3头牛钟意6((2*1+4)mod 10=6)号栏位,另外3头牛钟意8((2*2+4)mod 10=8)号栏位;第3行数据显示有2头牛钟意1((0*1+1)mod 10=1)号栏位;第4行数据显示有1头牛钟意8((1*1+7)mod 10=8)号栏位(共有4头牛钟意这个栏位)。

【样例输出】

5

输出解释: 除了5号栏位,其它栏位均被占领。          

【提示】

在此键入。

【来源】

USACO 2013 November Contest, Gold