ZOJ 2100 seed

2024-05-30 10:58
文章标签 zoj seed 2100

本文主要是介绍ZOJ 2100 seed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        挺简单的深搜题。。但是因为粗心,跑完一个test case后没有正确地更新field数组(开始时为求精简竟然在格子(i,j)为 false时不令field[i][j] = false,原因是我以为field[6][6]是全局变量,默认情况是初始化为false,所以想当然地以为如果格子(i,j)是false就不用多次一举。。可是我忘了每次运行一个test case后field会改的。。SB了


#include<iostream>
#include<fstream>
#include<cstring>
//#include "debug.h"
using namespace std;bool field[6][6];   //有石头则为true,无石头则为false
bool seed[6][6];  //已经播种则为true,否则为false
int n,m;
//bool res;
int k = 0;  //已经播种的格子数
int total_seed = 0;  //可播种格子总数
bool res;void dfs(int r,int c){if(res) return;if(k == total_seed){ res = true; return;}if(seed[r][c] == true || field[r][c] == true) return;  //有石头或已播种seed[r][c] = true;++k;if(k == total_seed){ res = true; return;}if(r>0) dfs(r-1,c);if(r<n-1) dfs(r+1,c);if(c>0) dfs(r,c-1);if(c<m-1) dfs(r,c+1);--k;seed[r][c] = false;
}int main(){//ifstream cin("input.txt");while(cin>>n>>m){if(n==0 && m==0) break;char c;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>c;if(c=='S') field[i][j] = true;else{ field[i][j] = false; ++total_seed;}}}if(field[0][0] == true) cout<<"NO"<<endl;dfs(0,0);if(res) cout<<"YES"<<endl;else cout<<"NO"<<endl;memset(seed,0,36);k = 0;total_seed = 0;res = false;}return 0;
}


这篇关于ZOJ 2100 seed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python 稳定的随机数 seed

import random random.seed( 10 ) random.random()

豆包高质量声音有望复现-Seed-TTS

我们介绍了 Seed-TTS,这是一个大规模自回归文本转语音 (TTS) 模型系列,能够生成与人类语音几乎没有区别的语音。Seed-TTS 作为语音生成的基础模型,在语音上下文学习方面表现出色,在说话人的相似性和自然性方面取得了与客观和主观评估中基本人类语音相匹配的表现。通过微调,我们在这些指标上获得了更高的主观分数。Seed-TTS 对各种语音属性(如情感)具有卓越的可控性,并且能够为野外的说话

大数问题 ZOJ Problem Set - 2001 Adding Reversed Numbers

题目:   Time Limit: 2 Seconds       Memory Limit: 65536 KB The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient plays are tragedies. Therefore t

ZOJ 3804 YY's Minions

ZOJ 3804 YY's Minions 简单的模拟题  初始时  每个点都有两种状态 0 1  然后判断每个点周围八个方向中相邻点的状态  判断状态为1的个数 注意点状态变为X是在每秒钟的末尾 所以要在每秒钟的末尾对状态进行改变 用两个数组对前一秒的状态跟这一秒的状态分别进行存储 #include <cstdio>#include <iostream>#include <cs

ZOJ 3798 Abs Problem

ZOJ 3798 Abs Problem  关于绝对值的一个题  题意是从1-N  N个不同的数中  选数 每次选一个数  第一次选的数记为a1  写到纸上记为b1   然后每次选的数ai   bi=|ai-bi-1|  求bn的最小值以及最大值 可以找规律 (1,2特判)  当模4的值等于0或3时  最小值为0  否则为1 n-1模4的值为0或3时   最大值为n  否则为n-1 注意

poj 1459 zoj 1734 Power Network(最大流)

电网 中一些节点  可能会消耗电能  提供电能   节点之间有电线传输电能  传输的电能有上限值 节点中没有 源点和汇点 类型的节点  所以需要我们添加源点汇点  n个节点 从0开始 设源点为n+1  汇点为n+2 源点到每个电站之间添加一条边 权值为该电站能够提供的电能 每个消费者与汇点之间添加一条边 权值为该消费者消费的电能 根据所给的 电线中的起点和重点 添加边 权值为该电线能够

zoj 1919 poj 2337 Catenyms(欧拉路径求解)

zoj 1919 poj 2337  Catenyms 前一个单词的尾字母与后一个单词的第一个字母相同  输出字典序最小的序列 用向量数组e[i]来存储以i开头的字符串  由于要是按字典序输出 所以需要讲字符串排序 f[i][j]数组表示 以第i个字母开头的第j个单词有没有被选取 level记录递归的层数  到达n之后 所有单词被选取 结束 yes标记有木有找到 找到了之后 递归

poj 2396 zoj 1994 Budget(有源汇上下界的可行流)

思路: 无源汇 (附加源汇+最大解决) 有源汇 (附加(T,S)->无源汇) Budget Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 6237 Accepted: 2367 Special Judge Description We are supposed to make

TOJ 4365 ZOJ 3623 Battle Ships / 完全背包

Battle Ships 时间限制(普通/Java):1000MS/3000MS     运行内存限制:65536KByte 描述 Battle Ships is a new game which is similar toStar Craft. In this game, the enemy builds a defense tower, which has L longe

TOJ 4369 ZOJ 3632 Watermelon Full of Water / 线段树优化DP

Watermelon Full of Water 时间限制(普通/Java):3000MS/9000MS     运行内存限制:65536KByte 描述 Watermelon is very popular in the hot summer. Students in ZJU-ICPC Team also love watermelon very much and they