Skip to main content
Original118 words1 min

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

Summary

给定仅含点与井号的字符矩阵,求最上方井号与最下方井号所在行号之差。列坐标与答案无关,只需关注行号:逐格读入,遇到井号时用其行号同时更新当前的最大值与最小值,读完整张矩阵后输出两者之差。多组数据,每组复杂度为矩阵规模。

题意简述​

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

解题思路​

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

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

参考代码​

388 Bcpp
#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;
}