题目名称 3024. [USACO Open18 Bronze] 挤奶顺序
输入输出 milkorder_bronze_18open.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarBenjamin 于2018-10-29加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:2, 提交:35, 通过率:5.71%
Gravatarleon 100 0.000 s 0.00 MiB C++
Gravatarleon 100 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 90 0.000 s 0.00 MiB C++
Gravatarleon 80 0.000 s 0.00 MiB C++
本题关联比赛
近期练习题回顾
关于 挤奶顺序 的近10条评论(全部评论)
我已经放弃正确率了
Gravatarleon
2018-10-30 18:28 1楼

3024. [USACO Open18 Bronze] 挤奶顺序

★   输入文件:milkorder_bronze_18open.in   输出文件:milkorder_bronze_18open.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


Farmer John的N头奶牛(2≤N≤100),方便起见仍然编号为1…N,正好闲得发慌。因此,她们发展了一个与Farmer John每天早上为她们挤牛奶的时候的排队顺序相关的复杂的社会结构。经过若干周的研究,Farmer John发现这个结构基于两个关键特性。


首先,由于奶牛们的社会阶层,某些奶牛会坚持要在其他奶牛之前挤奶,基于她们的社会地位等级。比方说,如果奶牛3有最高的地位,奶牛2位于中等地位,奶牛5是低地位,那么奶牛3会最早挤奶,然后是奶牛2,最后是奶牛5。


然后,有些奶牛只允许她们在排队顺序中一个特定的位置挤奶。比方说,奶牛4可能坚持要在所有奶牛中的第二位挤奶。


幸运的是,Farmer John总是能够以一种满足所有这些情况的顺序给他的奶牛们挤奶。


不幸的是,奶牛1最近生病了,所以Farmer John想要尽早给这头奶牛挤奶,使得她可以回到牛棚获得急需的休息。请帮助Farmer John求出奶牛1可以在挤奶顺序中出现的最早位置。


【输入格式】


第一行包含N,M(1≤M<N),和K(1≤K<N),表示Farmer John有N头奶牛,其中M头形成了社会阶层,K头需要在挤奶顺序中处于一个特定的位置。下一行包含M个不同的整数mi(1≤mi≤N)。在这一行出现的奶牛必须以与她们在这行出现的顺序相同的顺序进行挤奶。下面K行,每行包含两个整数ci(1≤ci≤N)和pi(1≤pi≤N),表示奶牛ci一定要在第pi

位进行挤奶。


输入数据保证在这些限制之下,Farmer John能够建立一个符合要求的挤奶顺序。


【输出格式】

输出奶牛1可以在挤奶顺序中出现的最早位置。

【样例输入】

6 3 2
4 5 6
5 3
3 1

【样例输出】

4

【提示】

在这个例子中,Farmer John有六头奶牛,其中奶牛1生病了。他的挤奶顺序应该为奶牛4在奶牛5之前,奶牛5在奶牛6之前。此外,Farmer John必须要第一个给奶牛3挤奶,第三个给奶牛5挤奶。 FJ必须第一个给奶牛3挤奶,由于奶牛4必须要在奶牛5之前,奶牛4一定是第二个挤奶的,然后奶牛5第三个。于是,奶牛1最早在挤奶顺序中出现的位置是第四个。

【来源】

USACO 2018 OPEN CONTEST BRONZE Problem 2 milking order

供题:Jay Leeds