博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1045
阅读量:4622 次
发布时间:2019-06-09

本文共 744 字,大约阅读时间需要 2 分钟。

地址:

题意:给定一个最大4*4的方形地图,里面有墙(X)和空地(.)。在每个空地上可以放大炮,但两个大炮如果在同一行或同一列并且之间没有墙阻隔的话,会互相攻击,所以不能同时存在。问最多能放多少个大炮。

mark:数据小,直接dfs就可以了。1WA,把保存状态的数组开成了全局的- -。据说还可以二分匹配过。

代码:

1 # include 
2 # include
3 4 5 char g[4][4] ; 6 int vis[4][4] ; 7 int n, ans ; 8 int tab[4][2] = {
0,1,0,-1,1,0,-1,0} ; 9 10 11 void dfs(int pos, int num)12 {13 int x = pos/n, y = pos%n ;14 int xx, yy, i, j ;15 int buff[4][4] ;16 // if(pos==n*n) return ;17 if (g[x][y]=='X')return ;18 if (vis[x][y]==1) return ;19 20 for(i=0;i
=0&&xx
=0&&yy
ans)ans=num+1;30 for(i=pos+1;i

转载于:https://www.cnblogs.com/lzsz1212/archive/2012/05/23/2514154.html

你可能感兴趣的文章
FusionChart实现柱状图、饼状图的动态数据显示
查看>>
检查结果
查看>>
并行执行任务 Stat-Job
查看>>
Kail Linux渗透测试培训手册3第二章信息采集
查看>>
HDU 1010 Tempter of the Bone heuristic 修剪
查看>>
Django报错:__init__() missing 1 required positional argument: 'on_delete'
查看>>
2017秋软工 —— 本周PSP
查看>>
MongoDB执行计划分析详解
查看>>
盒子居中
查看>>
日志查找排序统计
查看>>
新个人博客
查看>>
goroute应用-模拟远程调用RPC
查看>>
Redis入门
查看>>
js对象的深度克隆
查看>>
java通过反射了解集合泛型的本质
查看>>
plsql程序中循环语句的使用
查看>>
毛巾行业生产管理软件系统 淮安七夕软件有限公司
查看>>
Linux命令学习一日一命令(TOUCH)
查看>>
排序算法3---直接插入排序算法
查看>>
用matalb、python画聚类结果图
查看>>