SCAU 19167 烟花

19167 烟花

时间限制:1000MS  代码长度限制:10KB
提交次数:126 通过次数:49

题型: 编程题   语言: 不限定

 

Description

很奇怪,在某天醒来后DjTaNg发现他自己处于一个孤岛之中。

而且经过几天的生活,他怀疑他似乎掉进了循环。

既然这里是孤岛,DjTaNg是怎么发现循环的呢?每到晚上凌晨的时候,他总能看到大海的远方在放烟花。
那些烟花在空中形成了烟花矩阵,矩阵中的图案一共有两种,要么是“2020”,要么是“2021”,
而且总是先放几天“2020”,然后再放几天“2021”,然后又放“2020”。

一般来说,新年才会放烟花,而且烟花的图案要么是“2020”,不然就是“2021”。所以DjTaNg就怀疑,
他掉进了循环,而且他循环的时间段是2020年末到2021年初。

那天准备到放烟花的时间,他坐在海边,用手指向海对面,说道:“把海对面的XXXX,我们就真的能自由了吗?”
说完,一片浪花拍到他的脸上。他的视力变得模糊,又恰好当时刚好放烟花了。

假如你就是DjTaNg,由于眼睛进水的影响,你看到的烟花是由两个字符组成。请你判断一下,
烟花矩阵的图案是“2020”还是“2021”。



 

输入格式

第一行包含两个整数 n 和 m (1<=n,m<=50)以及两个字符,第一个字符将表示烟花矩阵的背景,
第二个字符将组成数字,接下来的 n 行每行包含 m 个字符表示烟花矩阵。


 

输出格式

如果矩阵上是“2020”则输出2020,如果矩阵上是“2021”就输出2021。


 

输入样例

5 11 o w
wwowwwowwow
owowowoowow
wwowowowwoo
woowwwowooo
wwooooowwoo


 

输出样例

2021

 其实只用判断最后一个数字是1还是0,若是1则只会占一列,是0则会占超过一列,因此从最后一列开始找,判断代表烟花的字符是否只占一列即可。

#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
#include <stdio.h>
#include <vector>
#include <string>
#include <map>

using namespace std;

char s[55][55];

int main()
{
    ios::sync_with_stdio(false);
    int n,m;
    cin>>n>>m;
    char a,b;
    cin>>a>>b;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            cin>>s[i][j];
    }
    int flag=0;
    for(int i=m-1;i>0;i--)
    {
        for(int j=0;j<n;j++)
        {
            if(s[j][i]==b)
            {
                for(int k=0;k<n;k++)
                {
                    if(s[k][i-1]==b)
                        flag=1;
                }
                if(flag)
                    cout<<2020;
                else
                    cout<<2021;
                return 0;
            }
        }
    }
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值