首页 > 其他分享 >洛谷P6866 [COCI2019-2020#5] Emacs

洛谷P6866 [COCI2019-2020#5] Emacs

时间:2024-03-13 21:31:06浏览次数:26  
标签:... 洛谷 输出 P6866 矩阵 长方形 2020 顶点 输入

题目描述

给定一个 n×m 的只含有 . 和 * 的矩阵。

矩阵中 * 形成一些不重叠的长方形。它们不在边缘或顶点接触。

求长方形有多少个?

输入格式

第一行:两个正整数 n 和 m。

以下 n 行:表示题目描述中的矩阵。矩阵只含有 . 和 *

输出格式

一行一个非负整数,你的答案。

输入输出样例

输入 #1

6 7
***....
***..**
.....**
.***.**
.***...
.***...

输出 #1

3

输入 #2

3 3
*.*
...
*.*

输出 #2

4

输入 #3

1 10
.*.**.***.

输出 #3

3

说明/提示

数据范围

  • 对于 10pts 的数据,矩阵中每个长方形只含一个 *
  • 对于另外 15pts 的数据,保证n=1。
  • 对于所有的数据,1≤n,m≤100。

说明

题目译自 COCI2019-2020 CONTEST #5 T1 Emacs ,译者 90693

要找长方形其实只用看顶点,如果一个点的上面和左边都是“.”,那么这个点就一定是某个长方形的左上顶点,同时我把输入矩阵的周围都打成“.”,可以避免边界问题

废话不多说,直接上code:

#include <bits/stdc++.h>
using namespace std;
int main() {
	int i,j,n,m,cnt=0;
	char a[105][105];
	cin>>n>>m;
	for(i=0;i<=n+1;i++){
		for(j=0;j<=m+1;j++){
			if(i==0||j==0||i==n+1||j==m+1){//围出边界
				a[i][j]='.';
			}
		}
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
		    if(a[i-1][j]=='.'&&a[i][j-1]=='.'&&a[i][j]=='*'){//判断,必须上面和左边都是“.”,并且这个点是“*”
		    	cnt++;//统计
			}
		}
	}
	cout<<cnt;
    return 0;
}

喜欢就点个赞吧!

标签:...,洛谷,输出,P6866,矩阵,长方形,2020,顶点,输入
From: https://blog.csdn.net/m0_72614289/article/details/136692018

相关文章

  • C++:[NWRRC2015] Concatenation(洛谷)P7050
    题目描述FamousprogrammerGennadylikestocreatenewwords.Onewaytodoitistoconcatenateexistingwords.Thatmeanswritingonewordafteranother.Forexample,ifhehaswords cat and dog,hewouldgetaword catdog,thatcouldmeansomething......
  • 洛谷 P2730 魔板 题解 DFS(广度优先搜索)
    题目背景在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板。这是一张有 8 个大小相同的格子的魔板:12348765题目描述我们知道魔板的每一个方格都有一种颜色。这 8 种颜色用前 8 个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左......
  • [BJDCTF2020]Easy MD5 1
    [BJDCTF2020]EasyMD51审题看到一个登录框,并且题目为ezMD5,猜测使用md5绕过SQL知识点md5的绕过解题使用ffifdyop绕过SQL查看源代码弱比较绕过输入?a[]=1&b[]=2发现为===强比较,由于md5对数组不敏感也可以使用数组绕过,这是md5的另一个特性,就是md5无法对数组进行......
  • [ACTF2020 新生赛]BackupFile 1
    [ACTF2020新生赛]BakupFil1审题让我们找到源代码。题目为bakup尝试index.php.bak下载成功知识点bak备份文件,简单RCE。解题看到index.php代码<?phpinclude_once"flag.php";if(isset($_GET['key'])){$key=$_GET['key'];if(!is_numeric($key)){......
  • 洛谷题单指南-二叉树-P4715 【深基16.例1】淘汰赛
    原题链接:https://www.luogu.com.cn/problem/P4715题意解读:计算亚军得主,注意能力值最高的肯定是冠军,但能力值第二高的不一定是亚军,因为有可能中途就遭遇冠军。解题思路:根据题意,两两比赛,一轮后再按顺序两两比赛,形如一棵二叉树,但解题其实用不到二叉树的数据结构可以看出,最后参与......
  • 202009青少年软件编程(Scratch)等级考试试卷(一级)
    青少年软件编程(Scratch)等级考试试卷(一级)2020年9月第1题:【单选题】运行下图中脚本,角色所在位置用坐标表示为(    )A:(45,0)B:(0,145) C:(145,0) D:(100,0) 【正确答案】:C【试题解析】 :第2题:【单选题】Scratch软件自带的可以结束程序的按钮是(  )A:......
  • 每日一题 第一期 洛谷 铺地毯
    [NOIP2011提高组]铺地毯https://www.luogu.com.cn/problem/P1003题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n......
  • 「杂题乱刷」洛谷 P2572
    先上AC代码:点击查看代码/*Tips:你数组开小了吗?你MLE了吗?你觉得是贪心,是不是该想想dp?一个小时没调出来,是不是该考虑换题?*/#include<bits/stdc++.h>usingnamespacestd;#definemapunordered_map#defineforl(i,a,b)for(registerlonglongi=a;i<=b;i++)#define......
  • 洛谷题单指南-线性表-P2234 [HNOI2002] 营业额统计
    原题链接:https://www.luogu.com.cn/problem/P2234题意解读:要计算每一天最小波动值的和,需要对每一天求最小波动值,再求和,如果暴力法,时间复杂度在1+2+3+......+32767≈5*10^8,可能会超时。解题思路:1、暴力法:由于本题测试数据比较水,实测暴力求解直接可以AC,由于没有技术含量,不做具体......
  • 「杂题乱刷」洛谷 P1708
    题目链接P1708解题思路解法一:考虑预处理,这部分可以直接打表。其他题解这部分讲的比较详细了,在此不再赘述。期望得分\(100\)分。解法二:考虑数位dp。这里采用记搜的写法。dfs(last,sum,maxsum,_1)分别表示还需要枚举几位数,目前枚举的数位和,可以枚举的最大数位和,是否均......