列表

详情


NC214393. 2020vs2018

描述

题外话:你还记得2018您让你输出2018字符串画的湖南省赛题吗?
Bobo有一副 n 行 m 列,只包含 '.' 和 'o' 两种字符的字符画,其中 '.' 是背景,'o' 画出了2018或者2020。请识别给出的字符画是2018还是2020的。

输入描述

输入文件包含多组数据,请处理到文件结束。
每组数据的第一行包含两个整数 n 和 m,接下来的 n 行每行包含 m 个字符表示字符画。
 · 1 ≤ n, m ≤ 50
 · 数据组数不超过 100.
 · 字符画
  ·· 只包含 '.' 和 'o' 两种字符;
  ·· 只会是2018或者2020的字符画;
  ·· 不同数字的字符 'o' 不会(在8个方向上)相邻
  ·· 壁画都是水平或者竖直的,但是大小和位置都可能任意出现。

输出描述

对于每组数据,如果给出的字符画是2020,输出2020,否则输出2018。

示例1

输入:

6 14
..............
.oo.ooo.oo.ooo
..o.o.o..o.o.o
.oo.o.o.oo.o.o
.o..o.o.o..o.o
.oo.ooo.oo.ooo
6 14
....ooo....ooo
.oo.o.o..o.o.o
..o.o.o..o.ooo
.oo.o.o..o.o.o
.o..ooo..o.o.o
.oo......o.ooo
11 12
ooo...ooo...
o.o.....o...
ooo...ooo...
......o.....
ooooo.o.ooo.
o...o.o...o.
o...o.ooo.o.
o...o.....o.
o...o...ooo.
o...o...o...
ooooo...ooo.

输出:

2020
2018
2020

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 4ms, 内存消耗: 472K, 提交时间: 2021-07-31 23:48:59

#include<bits/stdc++.h>
using namespace std;
int n, m;
int f()
{
	string s[55];
	for(int i = 0; i < n; i++)
		cin >> s[i];
	for(int i = 1; i < n-1; i++)
		for(int j = 1; j < m; j++)
			if(s[i][j] == 'o' && s[i-1][j] == 'o'&& s[i+1][j] == 'o' && s[i][j-1] == 'o')
				return 2018;
	return 2020;
}
int main()
{
    while(cin >> n >> m)
    	cout << f() << endl; 
}

上一题