Fire Net C++
#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++相关推荐
- fzu 2150 Fire Game 【身手BFS】
称号:fzu 2150 Fire Game :给出一个m*n的图,'#'表示草坪,' . '表示空地,然后能够选择在随意的两个草坪格子点火.火每 1 s会向周围四个格子扩散,问选择那两个点使得燃烧全部 ...
- fire.php,Fire PHP
项目介绍: Fire PHP 是基于 PHP JavaScript开发的跨平台的Firefox 的扩充套件,即PHP调试插件,可以帮你debug 后端PHP 的程式,其使用的技术跟某些IDE 一样,要 ...
- ZOJ1002 Fire Net(非递归版)
以前用递归的回溯搜索思路做过一次,参见ZOJ1002 Fire Net(递归版),今天想着用非递归的方法试试看,呵呵,比我想象中要难啊,主要还是堆栈里究竟放什么,这一点上思路一直没理清.因此用了整整一 ...
- UVA11624 Fire!(bfs)
相信大家已经读过题目了,我就搬一下洛谷的翻译: 题目大意 你的任务是帮助Joe走出一个大火蔓延的迷宫.Joe每分钟可以走到上下左右4个方向的相邻格子之一,而所有着火的格子都会四周蔓延(即如果某个空格子 ...
- J - Fire! UVA - 11624
J - Fire! UVA - 11624 题意:火每次能烧到上下左右,人碰到非墙的边界则逃火成功,求最短的逃离时间. 由于bfs每个位置最多入队出队一次,所以复杂度为 1e6 一发bfs直接TLE, ...
- 1709: Fire or Retreat(zzuli)
水题,哎,可是第一次是因为编译错了,vs不知咋了,无奈: 后面几次又因为类型用了int错了,痛苦: 题目描述 在与科技水平远胜于我们的外星人的战斗最后,我们能够用来对外星装甲造成伤害的武器只剩下了-- ...
- xmpp 服务器配置 open fire for windows 及 spark 测试
xmpp 服务器配置 open fire for windows 此文章为 XMPP windows服务器配置,使用的是 open fire 3.9.1.exe 1: 下载 open fire ope ...
- python3 命令行参数处理库 argparse、docopt、click、fire 简介
一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变. 本文作 ...
- Fire Workflow FAQ
Fire Workflow 的Eclispe设计器插件上传到google code ,并有较详细的文档(2_通过设计器和模拟器快速了解Fire Workflow.pdf,3_各种工作流模式 ...
- UVA11624 Fire!
题目: 乔在迷宫中工作.不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划.请帮助乔逃离迷宫.根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果 ...
最新文章
- 目标检测学习笔记--DSSD算法
- 0730 - 搞定 iPaste for iOS 技术选型
- 涨跌因子计算器下载哪里下载_微信爱情指数计算器整蛊app下载_爱情指数计算器整蛊测试下载...
- 阿里高级技术专家箫逸:如何画好一张架构图?
- linux-使用xshell连接linux教程
- python list去重_基础知识详解:python( list,set,dict)大规模查找效率对比
- risksystem_《环境风险评价系统(RiskSystem)》1.1版
- 机器人动力学-牛顿-欧拉方程
- 服务器装系统报0x0000005d,Win8系统安装过程中提示ErrorCode:0x0000005D怎么办
- 解决因多网卡导致dubbo注册到ZK的IP错误问题,dubbox(当当,2.8.4)升级至dubbo(Apache,2.7.15)并集成
- Nolanjdc对接傻妞教程
- 全网热议的云原生技术到底什么?看完这25点你就知道了
- COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE期刊投稿
- response概述
- 鼠标移动到图片上实现图片的放大缩小
- 知物由学 | 垃圾内容肆虐,自监督学习助力“内容风控”效果提升
- idea Compound 一次启动多个应用
- 第001天:第一行Android代码
- JavaScript 编码练习:利用一个按钮实现开始计时和停止计时
- 界面超漂亮的桌面时钟