比赛场次 70
比赛名称 10.10.18noip模拟
比赛状态 已结束比赛成绩
开始时间 2010-10-18 18:59:59
结束时间 2010-10-18 22:01:01
开放分组 全部用户
注释介绍
题目名称 罪犯问题C
输入输出 criminalc.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarmaxiem WWWWWAWWWW 0.000 s 0.00 MiB 10
Gravatar1102 AWWWWWWWWW 0.000 s 0.00 MiB 10
Gravatarreamb WWWWWWWWWW 0.000 s 0.00 MiB 0
Gravatar苏轼 WWWWTTWWWW 0.000 s 0.00 MiB 0
GravatarZhouZn1 WWWWWWWWWW 0.000 s 0.00 MiB 0
Gravatar王者自由 WWWWTEEEEE 0.000 s 0.00 MiB 0
GravatarAchilles WWWWWWWWWW 0.000 s 0.00 MiB 0
GravatarCitron酱 WWWWWWWWWW 0.000 s 0.00 MiB 0

罪犯问题C

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

一天,警官抓获了N个嫌犯,审问N个罪犯的途中,作为警长助手的你突然发现其中被确定为罪犯的K号人是你曾经出生入死的兄弟,你不能眼睁睁看着他被抓进牢里。审问完了嫌犯之后,发现每个人都说话了,并且每个人只说了一句话,说的话形式有两种,“***是罪犯“***不是罪犯,并且罪犯说的都是假话,不是罪犯的说的都是真话(每人说的话均不是说自己)。因为见过某M个人的通缉令,镇长可以确定这M个人是罪犯。通过这些情况可推断出大部分人是不是罪犯。值得庆幸的是,你兄弟并不在这M人之中。每个人说话的内容都已经存入了资料库之中,现在你需要冒险修改资料库中某些人说话的内容使得你兄弟摆脱的罪犯嫌疑。当然修改的条数越多,风险也就越大,现在希望你能求出最少要修改资料库中几个人说的话。

【输入格式】

第一行,三个整数NMK,含义如题目描述所示。

第二行,M个整数,第i个整数Ti表示编号Ti的嫌犯确定是罪犯。

3-N+2行,第i+2行有一个整数X,若X大于零,表示编号为i嫌犯的人说“X号是罪犯;若X小于零,表示编号i为嫌犯的居民说“-X号不是罪犯

【输出格式】

仅一个整数,表示最少需修改资料库中几人说的话。

【样例输入】

3 1 3

1

-2

-3

-1

【样例输出】

2

修改3号说的话和另外随意某人说的话就可以使K号不再是罪犯。

【数据规模】

对于20%的数据,N<=10;

对于100%的数据,N<=200000,1<=M<=N;

数据保证嫌犯说的话不存在矛盾,且K号本为罪犯且未在通缉令上。

 

by kily