题解:P9028 [COCI 2022-2023 #1] Desni klik

· · 题解

题意简述

给定一个仅包含 .# 的字符矩阵,求最上面的 # 和最下面的 # 的行数差。

解题思路

每次读入到 # 时,分别维护行号的最大值与最小值。

最后输出最大值与最小值的差。

参考代码

#include <bits/stdc++.h>
using namespace std;

const int inf=0x3f3f3f3f;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,r,s;
    cin>>n>>r>>s;
    while(n--)
    {
        int mx=0,mn=inf;
        for(int i=1;i<=r;i++)
        {
            for(int j=1;j<=s;j++)
            {
                char f;
                cin>>f;
                if(f=='#')
                {
                    mx=max(mx,i);
                    mn=min(mn,i);
                }
            }
        }
        cout<<mx-mn<<'\n';
    }
    return 0;
}