入门OJ P:1300 面积题解

news/2024/11/15 0:55:46/

原题网址:https://begin.lydsy.com/JudgeOnline/problem.php?cid=1311&pid=1
密码:20192019
本蒟蒻第二次发题解,依旧不好意思,若有错误欢迎各位神犇指出,本蒟蒻不胜感激。
题目描述如下:
Time Limit: 1 Sec Memory Limit: 128 MB
Description
一幅图由0和* 组成,编程计算由* 号所围成的图形的面积。面积的计算方法是统计* 号所围成的闭合曲线中0的数目。
Input
由0和组成的字符矩阵,行列数均不超过50。对于此种输入方式,输入完成后按ctrl+z结束。
Output
面积数
Sample Input
input 1
000000000
0000**000
000
0000
00
00000
000
000
000000000
input 2
000000000000000

00000000000000000000000000000
000000*****************00000000
0000000000000000000000000000000


Sample Output
output 1
5
output 2
59
刚看到这题时,马上第一反应bfs,然而,由于本蒟蒻bfs很渣,所以用了一种dfs,也就是先让它外面包一圈0,然后从左上角开始搜起,时间复杂度比bfs还略少点,并且不需要搜一圈,请各位各位多看下题目,本题输入极其恶心,需要注意。
好了,本题C++代码如下:

#include <iostream>
using namespace std;char a;
int i,j,k,l,ans;
int v[52][52];void dfs(int x,int y) {if(v[x][y]==1) return;v[x][y]=1;if(x>1) dfs(x-1,y);if(y>1) dfs(x,y-1);if(x<=k) dfs(x+1,y);if(y<=l) dfs(x,y+1);
}int main() 
{k=1,l=1;while(scanf("%c",&a)!=EOF) //ctrl+z停止读入{if(a=='\n') k++,l=j,j=0;else j++;if(a=='*') v[k][j]=1;}k-=1;dfs(0,0);for(int i=1;i<=k;i++)for(int j=1;j<=l;j++)if(v[i][j]==0) ans++;printf("%d",ans);return 0;
}

本代码为标程,请勿抄袭。
若有不善之处,还请各位神犇指出。
鸣谢!!!


http://www.ppmy.cn/news/548180.html

相关文章

Error Code: 1300. Invalid utf8 character string: ''

网上查到这个问题好像是和字符集有关系的&#xff0c;所以先测测自己是什么字符集 ->show variables like ‘char%’; character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results…

ERROR 1300 (HY000): Invalid utf8 character string:

在load csv 进mysql的时候&#xff0c;报ERROR 1300 (HY000): Invalid utf8 character string: 解决方案&#xff1a; 1.查看字符集&#xff0c;Linux&#xff0c; 数据库&#xff0c;表 mysql> show variables like character%; -------------------------------------…

天玑1300和天玑1200参数对比 天玑1300和天玑1200选哪个

天玑1300作为1200的升级版本&#xff0c;性能肯定更加的强悍&#xff0c;综合能力也强大。主要的架构规格都没有改变&#xff0c;只是强化了ai特效并且升级了夜景拍摄和hdr功能&#xff0c;能够去呈现出更多的精彩照片和画质。 选天玑1300还是天玑1200这些点很重要看过你就懂了…

mysql导入txt类型数据时出现错误 ERROR 1300 (HY000): Invalid utf8 character string: '̨

mysql导入txt类型数据&#xff08;内有多行数据&#xff09;时出现错误 ERROR 1300 (HY000): Invalid utf8 character string: ̨ mysql> load data local infile "d:/x.txt" into table tb_model; ERROR 1300 (HY000): Invalid utf8 character string: ̨’ 原有…

解决ERROR 1300 (HY000): Invalid utf8 character string: ' '问题

首先声明&#xff0c;此贴为转发http://www.zhimengzhe.com/linux/187669.html的帖子。 其次说明&#xff0c;我用的是linux操作系统mysql 5.7,在导入数据的时候产生了如下错误 ERROR 1300 (HY000): Invalid utf8 character string: ’ ’ 在论坛上搜寻了n久&#xff0c;差不多…

python中的常见语法讲解

Python是一种强大且简洁的编程语言&#xff0c;由于其易于学习和使用&#xff0c;已成为众多应用领域的首选。在本文中&#xff0c;我们将讨论Python中的一些常见语法&#xff0c;包括注释、变量命名、条件语句、循环语句、函数、类和异常处理等。我们将分别解析这些语法的作用…

虚拟机只有一个CMD窗口,如何回到我的Windows 11系统

在使用虚拟机软件时&#xff0c;有时我们可能会遇到只有一个CMD&#xff08;命令提示符&#xff09;窗口的情况。这样的情况下&#xff0c;我们可能会感到困惑&#xff0c;不知道如何回到操作系统界面。本文将向您介绍如何处理这种情况&#xff0c;以便顺利回到您的Windows 11系…

微信小程序开发的学习路线。

微信小程序开发的学习路线。以下是一个基本的学习路线&#xff0c;供你参考&#xff1a; 1. 基础知识 了解微信小程序的基本概念和架构学习小程序的开发工具和开发环境的搭建掌握小程序的基本语法和组件的使用 2. 小程序框架和页面开发 学习小程序的框架和页面的生命周期掌…