#include<iostream>
using namespace std;
int n, i, j, ans;
char s[5][5];
int c_put(int n, int m){for (i = n - 1; i >= 0; i--){//行数 向前寻找if (s[i][m] == 'O')//如果有碉堡则产生冲突return 0;if (s[i][m] == 'X')//如果在遇到碉堡之前遇到了墙壁 则可以放 直接跳出循环break;}for (j = m - 1; j >= 0; j--){//列数 向前寻找if (s[n][j] == 'O')//如果有碉堡则产生冲突return 0;if (s[n][j] == 'X')//如果在遇到碉堡之前遇到了墙壁 则可以放 直接跳出循环break;}return 1;
}
void dfs(int k, int num){int x, y;if (k == n * n){//如果搜索到最后一格if (num > ans)//那么比较放置个数ans = num;return;//返回}else{x = k / n;//行数y = k % n;//列数//如果单元格可以放置if (s[x][y] == '.'&&c_put(x, y)){//判断是否为碉堡 是否产生冲突s[x][y] = 'O';//防止碉堡,并且标记dfs(k + 1, num + 1);s[x][y] = '.';}//如果单元格不可以放置dfs(k + 1, num);//否则就向下继续寻找;}
}
int main(){while (cin >> n&&n) {ans = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++)cin>>s[i][j];}dfs(0, 0);cout << ans << endl;}
}
#include<iostream>
using namespace std;
int n,i,j, ans;
char s[5][5];
int c_put(int n, int m){for(i=n-1;i>=0;i--){if(s[i][m] == '0')return 0;if ([i][m] == 'X')break;}for (j=m-1; j>=0; j--){if (s[n][j]=='O')return 0;

Fire Net C++相关推荐

  1. fzu 2150 Fire Game 【身手BFS】

    称号:fzu 2150 Fire Game :给出一个m*n的图,'#'表示草坪,' . '表示空地,然后能够选择在随意的两个草坪格子点火.火每 1 s会向周围四个格子扩散,问选择那两个点使得燃烧全部 ...

  2. fire.php,Fire PHP

    项目介绍: Fire PHP 是基于 PHP JavaScript开发的跨平台的Firefox 的扩充套件,即PHP调试插件,可以帮你debug 后端PHP 的程式,其使用的技术跟某些IDE 一样,要 ...

  3. ZOJ1002 Fire Net(非递归版)

    以前用递归的回溯搜索思路做过一次,参见ZOJ1002 Fire Net(递归版),今天想着用非递归的方法试试看,呵呵,比我想象中要难啊,主要还是堆栈里究竟放什么,这一点上思路一直没理清.因此用了整整一 ...

  4. UVA11624 Fire!(bfs)

    相信大家已经读过题目了,我就搬一下洛谷的翻译: 题目大意 你的任务是帮助Joe走出一个大火蔓延的迷宫.Joe每分钟可以走到上下左右4个方向的相邻格子之一,而所有着火的格子都会四周蔓延(即如果某个空格子 ...

  5. J - Fire! UVA - 11624

    J - Fire! UVA - 11624 题意:火每次能烧到上下左右,人碰到非墙的边界则逃火成功,求最短的逃离时间. 由于bfs每个位置最多入队出队一次,所以复杂度为 1e6 一发bfs直接TLE, ...

  6. 1709: Fire or Retreat(zzuli)

    水题,哎,可是第一次是因为编译错了,vs不知咋了,无奈: 后面几次又因为类型用了int错了,痛苦: 题目描述 在与科技水平远胜于我们的外星人的战斗最后,我们能够用来对外星装甲造成伤害的武器只剩下了-- ...

  7. xmpp 服务器配置 open fire for windows 及 spark 测试

    xmpp 服务器配置 open fire for windows 此文章为 XMPP windows服务器配置,使用的是 open fire 3.9.1.exe 1: 下载 open fire ope ...

  8. python3 命令行参数处理库 argparse、docopt、click、fire 简介

    一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变. 本文作 ...

  9. Fire Workflow FAQ

    Fire Workflow 的Eclispe设计器插件上传到google code ,并有较详细的文档(2_通过设计器和模拟器快速了解Fire       Workflow.pdf,3_各种工作流模式 ...

  10. UVA11624 Fire!

    题目: 乔在迷宫中工作.不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划.请帮助乔逃离迷宫.根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果 ...

最新文章

  1. 目标检测学习笔记--DSSD算法
  2. 0730 - 搞定 iPaste for iOS 技术选型
  3. 涨跌因子计算器下载哪里下载_微信爱情指数计算器整蛊app下载_爱情指数计算器整蛊测试下载...
  4. 阿里高级技术专家箫逸:如何画好一张架构图?
  5. linux-使用xshell连接linux教程
  6. python list去重_基础知识详解:python( list,set,dict)大规模查找效率对比
  7. risksystem_《环境风险评价系统(RiskSystem)》1.1版
  8. 机器人动力学-牛顿-欧拉方程
  9. 服务器装系统报0x0000005d,Win8系统安装过程中提示ErrorCode:0x0000005D怎么办
  10. 解决因多网卡导致dubbo注册到ZK的IP错误问题,dubbox(当当,2.8.4)升级至dubbo(Apache,2.7.15)并集成
  11. Nolanjdc对接傻妞教程
  12. 全网热议的云原生技术到底什么?看完这25点你就知道了
  13. COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE期刊投稿
  14. response概述
  15. 鼠标移动到图片上实现图片的放大缩小
  16. 知物由学 | 垃圾内容肆虐,自监督学习助力“内容风控”效果提升
  17. idea Compound 一次启动多个应用
  18. 第001天:第一行Android代码
  19. JavaScript 编码练习:利用一个按钮实现开始计时和停止计时
  20. 界面超漂亮的桌面时钟

热门文章

  1. css伪元素总结(内附实例)
  2. Go语言编程(七牛云存储团队执笔)
  3. tomcat lb cluster
  4. 《C语言程序设计:问题与求解方法》——2.15节算术表达式
  5. OSChina 周一乱弹 ——我后悔让爸妈用微信了!
  6. android-x86 下载地址
  7. linux fedora frebsd centos linux as 安装出错
  8. rabbitmq python 发送失败_RabbitMQ Python端发送消息给Java端 接受消息全数字问题
  9. Python(五):list、tuple
  10. NYOJ 608 508筹划工程 HDU 1232 畅通工程