宝石收集
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小蓝最近迷上了一款收集宝石的游戏, 在游戏中给出了一幅藏宝图, 藏宝图可以看做是由 个顶点组成的一个有向图, 顶点编号为 。每个顶点有且仅有一颗宝石, 可能是红宝石或蓝宝石。
小蓝有一次收集宝石的机会, 他可以任意选择一个顶点当做起点, 沿着有向边前进, 经过的顶点上的宝石都会被自动收集(包括起点和终点), 直到前方无路可走或者小蓝想退出时停止本次收集。
小蓝可以多次经过同一个顶点, 但只会在第一次到达顶点时获得宝石, 后面再次到达时不会再获得宝石。
收集结束后, 小蓝可以用手中的宝石合成紫晶宝石:一颗红宝石加一颗蓝宝石就可以合成一颗紫晶宝石。
小蓝想在收集结束后合成尽可能多的紫晶宝石, 请帮他规划出一条最优路径, 告诉他最多可以合成多少颗紫晶宝石。
输入格式
输入的第一行包含一个整数 ,表示有顶点的个数。
第二行包含一个由 、 组成的长度为 的字符串,从左至右依次表示第 至 个顶点处宝石的种类:
0 表示红宝石,1 表示蓝宝石。
第三行包含一个整数 ,表示图中有 条有向边。
接下来 行,每行包含两个整数 和 ,用一个空格分隔,表示一条从 到 的有向边。
输出格式
输出一行包含一个整数,表示小蓝最多能合成几颗紫晶宝石。
6
000111
6
0 1
1 2
3 1
2 3
2 4
2 5
2
解释 #1
选择 号顶点作为起点,按照 的行进路线,可以获得 颗红宝石和 颗蓝宝石,最终可以合成 颗紫晶宝石;
他也可以按照 行进,结果也是 。找不到比 更大的答案了。
数据范围
对于所有的评测用例: