P2712 摄像头
题目描述
食品店里有n个摄像头,这种摄像头很笨拙,只能拍摄到固定位置。现有一群胆大妄为的松鼠想要抢劫食品店,为了不让摄像头拍下他们犯罪的证据,他们抢劫前的第一件事就是砸毁这些摄像头。
为了便于砸毁摄像头,松鼠歹徒们把所有摄像头和摄像头能监视到的地方统一编号,一个摄像头能被砸毁的条件是该摄像头所在位置不被其他摄像头监视。
现在你的任务是帮松鼠们计算是否可以砸掉所有摄像头,如不能则输出还没砸掉的摄像头的数量。
输入输出格式
输入格式:
第1行,一个整数n,表示摄像头的个数。
第2到n+1行是摄像头的信息,包括:摄像头的位置x,以及这个摄像头可以监视到的位置数m,之后m个数y是此摄像头可以监视到的位置。(砸了这些摄像头之后自然这些位置就监视不到了)
输出格式:
若可以砸掉所有摄像头则输出“YES”,否则输出还没砸掉的摄像头的数量。
输入输出样例
5
1 1 2
2 1 1
3 1 7
4 1 1
5 0
2
神坑题啊,,,,
一没数据数据范围,二题目描述不清楚
“第2到n+1行是摄像头的信息,包括:摄像头的位置x”
这句话的意思就是和你说
一开始遍历的时候只需要遍历到n
查找答案的时候需要查找摄像头的位置
还有就是map其实可以省去。。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
map<int,int>mp;
const int MAXN=;
struct node
{
int u;
int v;
int next;
}edge[MAXN];
int head[MAXN];
int num=;
int rudu[MAXN];
int n;
void add(int where,int will)
{
edge[num].u=where;
edge[num].v=will;
edge[num].next=head[where];
head[where]=num++;
}
void topsort()
{
queue<int>q;
for(int i=;i<=n;i++)
if(rudu[i]==)
q.push(i);
while(q.size()!=)
{
int p=q.front();
q.pop();
for(int i=head[p];i!=-;i=edge[i].next)
{
if(edge[i].u==&&edge[i].v==)break;
int to=edge[i].v;
rudu[to]--;
if(rudu[to]==)
q.push(to);
}
}
int ans=;
for(int i=;i<=n;i++)
if(rudu[mp[i]]!=)
ans++;
if(ans==)
printf("YES");
else
printf("%d",ans);
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)head[i]=-;
for(int i=;i<=n;i++)
{
int where,m,will;
scanf("%d%d",&where,&m);
mp[i]=where;
for(int j=;j<=m;j++)
{
scanf("%d",&will);
rudu[will]++;
add(mp[i],will);
}
}
topsort();
return ;
}
P2712 摄像头的更多相关文章
- 洛谷 P2712 摄像头
题目描述 食品店里有n个摄像头,这种摄像头很笨拙,只能拍摄到固定位置.现有一群胆大妄为的松鼠想要抢劫食品店,为了不让摄像头拍下他们犯罪的证据,他们抢劫前的第一件事就是砸毁这些摄像头. 为了便于砸毁摄像 ...
- 在DevExpress中使用CameraControl控件进行摄像头图像采集
在我们以前的项目了,做摄像头的图片采集,我们一般还是需要做一个封装处理的,在较新版本的DevExpress控件里面,增加了一个CameraControl控件,可以直接调用摄像头显示的,因此也可以做头像 ...
- ubuntu-Linux系统读取USB摄像头数据(gspca)
将摄像头图像保存为jpg格式.摄像头需要是gspca免驱的.uvc若用uvc格式的需要在图像中插入Huffman表.否则无法正常显示. 程序代码: #include <stdio.h> # ...
- ubuntu-Linux系统读取USB摄像头数据(uvc)
这几天在做小车的过程中,需要用到图像采集.我想现在用的摄像头是UVC免驱的.根据国嵌的教程中有一个gspca摄像头的程序.我发现把gspca的采集程序用到uvc上时,在显示图像的时候提示没有huffm ...
- C# 使用AForge调用笔记本摄像头拍照
vs2012 winform 连接摄像头设备,这里需要引入 代码: using AForge; using AForge.Controls; using AForge.Imaging; using ...
- Opencv摄像头实时人脸识别
Introduction 网上存在很多人脸识别的文章,这篇文章是我的一个作业,重在通过摄像头实时采集人脸信息,进行人脸检测和人脸识别,并将识别结果显示在左上角. 利用 OpenCV 实现一个实时的人脸 ...
- Opencv VideoCapture实时捕捉摄像头信息
#include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using ...
- Unity打开摄像头占满全屏
Unity打开摄像头占满全屏 AR项目需求,Unity打开摄像头作为背景渲染占满全屏~ Unity对设备硬件操作的API并不是太友好~打开一个摄像头,渲染到屏幕上也都得自己写,虽然步骤少,提取摄像头t ...
- Vuforia unity开发摄像头问题
Vuforia unity开发摄像头问题 项目一直在赶进度,写博的时间越来越少了~从事Unity开发也快两个月了,AR方向~ 使用的是高通家的SDK Vuforia...从工程融合一直到对unity和 ...
随机推荐
- react native 之页面跳转
第一章 跳转的实现 1.component 中添加这行代码 <View style={styles.loginmain}> <Text style={styles.loginte ...
- 51nod 1600 Simple KMP
又被机房神犇肉丝哥哥和glory踩爆了 首先这个答案的输出方式有点套路,当前的答案=上一个答案+每一个后缀的f值=上一个答案+上一次算的每个后缀的f值+当前每个后缀的深度 这个题意给了个根深度为-1有 ...
- css中链接的4个状态 link、visited 、hover、active 顺序与设置
link 未点时链接色visited 已点过的链接色hover 光标放入链接上的色active 点击时的样式 顺序一定要按link.visited.hover.active来设置 ...
- 自定义android 音乐通知栏 ——可伸缩扩展
Android custom notification for music player Example In this tutorial, you will learn how to creat ...
- 【原】WPF客户端只能启动一次
public partial class App : Application { System.Threading.Mutex mutex; public App() { this.Startup + ...
- SPOJ:OR(位运算&数学期望)
Given an array of N integers A1, A2, A3…AN. If you randomly choose two indexes i ,j such that 1 ≤ i ...
- Codeforces-707D:Persistent Bookcase (离线处理特殊的可持久化问题&&Bitset)
Recently in school Alina has learned what are the persistent data structures: they are data structur ...
- POJ3696:The Luckiest number(欧拉函数||求某数最小的满足题意的因子)
Chinese people think of '8' as the lucky digit. Bob also likes digit '8'. Moreover, Bob has his own ...
- 「LuoguP4047」 [JSOI2010]部落划分
Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成 ...
- codeforces 724C
在一个nxm的镜面二维空间内,向(1,1)发射一条射线,来回反射,当遇到四个角之一时光线消失. 给K个点,问K个点第一次被射中是什么时候(v = sqrt(2)) 解:注意到只有 2*(n+m)个对角 ...