2012杭州赛区(浙江理工大学)J - Scaring the Birds

2023-10-28 19:40

本文主要是介绍2012杭州赛区(浙江理工大学)J - Scaring the Birds,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • LOGOUT
  • acelegend
    • UPDATE
2012杭州现场赛
2:08:19
5:00:00
  • Overview
  • Problem
  • Status
  • Rank
  • Discuss
                   
J - Scaring the Birds
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit  Status

Description

It’s harvest season now! 
Farmer John plants a lot of corn. There are many birds living around his corn field. These birds keep stealing his corn all the time. John can't stand with that any more. He decides to put some scarecrows in the field to drive the birds away. 
John's field can be considered as an N×N grid which has N×N intersections. John plants his corn on every intersection at first. But as time goes by, some corn were destroyed by rats or birds so some vacant intersections were left. Now John wants to put scarecrows on those vacant intersections and he can put at most one scarecrow on one intersection. Because of the landform and the different height of corn, every vacant intersections has a scaring range R meaning that if John put a scarecrow on it, the scarecrow can only scare the birds inside the range of manhattan distance R from the intersection. 



The figure above shows a 7×7 field. Assuming that the scaring range of vacant intersection (4,2) is 2, then the corn on the marked intersections can be protected by a scarecrow put on intersection (4,2). 
Now John wants to figure out at least how many scarecrows he must buy to protect all his corn.

Input

There are several test cases. 
For each test case: 
The first line is an integer N ( 2 <= N <= 50 ) meaning that John's field is an N×N grid. 
The second line is an integer K ( 0<= K <= 10) meaning that there are K vacant intersections on which John can put a scarecrow. 
The third line describes the position of K vacant intersections, in the format of r  1,c  1,r  2,c  2 …. r  K,c  k . (r  i,c  i) is the position of the i-th intersection and 1 <= r  1,c  1,r  2,c  2 …. r  K,c  k <= N. 
The forth line gives the scaring range of all vacant intersections, in the format of R  1,R  2…R  K and 0 <= R  1,R  2…R  K <= 2 × N. 
The input ends with N = 0.

Output

For each test case, print the minimum number of scarecrows farmer John must buy in a line. If John has no way to protect all the corn, print -1 instead.

Sample Input

        
4 2 2 2 3 3 1 3 4 2 2 2 3 3 1 4 0

Sample Output

        
-1 1


题意:题目很简单,就是n*n个点,然后某些点可以放稻草人,然后给每个稻草人的半径,问最少需要几个稻草人覆盖全部点,暴力枚举稻草人广搜就可以了。这里有个坑,可以放稻草人的地方是不需要覆盖的,一个下午没看到这个地方卡了3个小时,醉了。下面给代码。

#include<iostream>
#include<stack>
#include<cstring>
#include<map>
#include<string>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<utility>
using namespace std;
struct node {int x, y, value;
}p[15];
int  steparr[4][2] = { -1,0,1,0,0,-1,0,1 };
int vis[55][55],vis1[55][55];
int n;
queue<node>q;
bool bfs() {while (!q.empty()) {node now = q.front();q.pop();if (!now.value)continue;for (int i = 0; i < 4; i++) {int nowx = now.x + steparr[i][0];int nowy = now.y + steparr[i][1];if (nowx <= 0 || nowx > n || nowy <= 0 || nowy > n || vis[nowx][nowy] >= now.value - 1)continue;vis[nowx][nowy] = now.value - 1;q.push(node{ nowx,nowy ,vis[nowx][nowy] });}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (vis[i][j] == -1&&!vis1[i][j]) {return false;}}}return true;
}
int main() {while (scanf("%d", &n)) {if (!n)break;int k;scanf("%d", &k);memset(vis1, 0, sizeof(vis1));for (int i = 0; i < k; i++) {scanf("%d%d", &p[i].x, &p[i].y);vis1[p[i].x][p[i].y] = 1;}for (int i = 0; i < k; i++) {scanf("%d", &p[i].value);}int max = 15;for (int i = 0; i < (1 << k); i++) {memset(vis, -1, sizeof(vis));for (int j = 0; j < k; j++) {if (i&(1 << j)) {q.push(p[j]);vis[p[j].x][p[j].y] = p[j].value;}}int now = q.size();if (bfs() && now<max) {max = now;}}if (max == 15) {printf("-1\n");}else {printf("%d\n", max);}}
}

这篇关于2012杭州赛区(浙江理工大学)J - Scaring the Birds的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295503

相关文章

2014年ACM/ICPC亚洲区现场赛广州赛区总结

本来不想提这件事的,后来学姐找我谈心时提到这件事,我突然意识到在这件事情上我错了一次,明明答应的去参加这场比赛,最后临时决定不去......其实中间有很多很多原因 1:我和tyh,sxk临时不去主要是广州太远,我们身上money不够,呵呵。。。别笑我们,你以为我们是高富帅啊,去一趟广州消费要2个月的生活费,奖学金又没发,你让我找我妈要她辛辛苦苦挣来的工资吗?!从哈尔滨到广州单来回的火车票每个人就

VS2010与2012项目类型选择,MFC

今天装了了一个 VS2012,  在用向导创建工程的时候,发现在项目类型选择的时候,我们要去观察室继承的谁,VS2010项目类型选择,MFC,mainfrm 继承是cframewnd,而VS2012,继承是CframewndEX    区别好大

杭州网站建设网页手机版

杭州作为中国的电子商务之都,网站建设在杭州可谓是异常繁荣。随着移动互联网的兴起,越来越多的企业开始注重网页的手机版建设,以满足用户在移动设备上的浏览需求。杭州网站建设公司也专门针对手机版网页进行优化,提供更好的用户体验。 手机网站建设的重要性不言而喻。在移动设备的普及和使用越来越频繁的背景下,拥有一个优质的手机网页已经变得至关重要。一个专业的网站建设公司在设计手机网页时会考虑到以下几个方面:

[CISCN2019 华东南赛区]Web111

考点: xff ssti 打开看到页面存在IP和XFF,右上角是咱们自己的IP 看到现在,可以想到尝试一下xff,当我们bp抓包后,添加xff,我们可以发现右上角的Current IP发生了变化,并且当我们输入什么他就会变成什么,这时候就应该想到ssti注入了 进行注入发现是Smarty 模板注入(好像页面下面也有提示"Bulid with Smarty",……不过没关系),可以

杭州小伙逆行-没有生活,只有活着

前几天,杭州一小伙骑单车逆行刷爆网络。在路口被交警拦下后,小伙子接了一个电话。谁知打完电话后,小伙子摔了手机,崩溃爆发了… height="450" width="600" src="https://ugcws.video.gtimg.com/uwMROfz0r5zCYaQXGdGnC2dfDmYp-X0PaD-pLg4shqEe_wmq/y0856fjfyyz.mp4?sdtfrom=v1010

VOC 2012 augment 数据集 data augmentation 10582到底哪来的

根据deeplabv3+官方,train_aug 数据应该有10582.   你只需要准备两个文件夹,一个list.txt,三个数据: 官方提供的VOC2012的JEPGImages 文件夹(也就是全部的彩色照片)SBD数据库的数据扩增标注该标注对应的list(复制粘贴) 也就是说,SBD使用的是原始图片,没有平移旋转,所以你不需要下载他们提供的那个1G多压缩包,只需要下个40M标注。

云轴科技ZStack产品升级,浙江分公司产品发布会成功举办

近日,以“智启未来,云端共赢”为主题的云轴科技ZStack浙江分公司针对浙江地区渠道合作伙伴的产品发布会在杭州顺利召开。ZStack总代理伟仕佳杰、神州数码、英迈等百余位合作伙伴代表出席会议,共同见证ZStack在云基础设施与AI软件基础设施领域的最新成果,共同探讨AI时代的新机遇、新挑战。 AI技术的迅猛发展,全新的企业级产品和服务模式涌现,正逐步推进支撑AI应用的关键基础设施

2012年4月11日GMAT数学考试机经回忆(十二)

二零一(残狗 一个公司一共有W个人,然后平均分到三个team里面去,多出一个人来。。。问下面哪个选项可能是三个组的人数,每个选项3个表达式,都是分母为3,分子是什么w-1,w+1或者w+2之类的(大家能懂吧。。。 (提供者ID:大黄蜂2012 思路:“每个选项3个表达式”,是所有可能性么?求补充,求讨论; 分成三组后多出一人,即w/3余数为1,则(w-1可以被3整除,同理w+2,w-4等都

2012年12月21日SAT数学每日一题

下面是一道SAT数学 练习题,请自行完成后参看答案和解析。   Read the following SAT test question, then click on a button to select your answer.   There are n students in a biology class, and only 6 of them are seniors. If 7

2012-2022年各省新质生产力匹配数字经济数据

2012-2022年各省新质生产力匹配数字经济数据 1、时间:2012-2022年 2、来源:各省年鉴、能源年鉴、工业年鉴、统计年鉴 3、指标:prov、year、gdp亿元、在岗职工工资元、第三产业就业比重、人均受教育平均年限、教育经费强度、在校学生结构、规上工业企业RD全时当量h、每百人创新企业数、电子商务交易活动企业数企业总数、机器人安装密度、森林覆盖率、环境保护支出一般财政支出、化学