개발/알고리즘

백준 10709번 기상캐스터 C++

daisy-day 2021. 1. 13. 21:56

문제

www.acmicpc.net/problem/10709

 

10709번: 기상캐스터

출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시

www.acmicpc.net

코드

#include<bits/stdc++.h>

using namespace std;
int n, m, a[101][101];
string s;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	cin >> n >> m;

	for (int i = 0; i < n; i++)
	{
		cin >> s;
		for (int j = 0; j < m; j++)
		{
			if (s[j] == '.')
				a[i][j] = -1;
			else
				a[i][j] = 0;
		}
	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			if (a[i][j] == 0 && j < m -1)
			{
				int cnt = 0;
				while (a[i][j + 1] == -1)
				{
					a[i][j + 1] = ++cnt;
					j++;
				}
			}
		}
	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			cout << a[i][j] << " ";
		}
		cout << "\n";
	}

	return 0;
}

 

걸린시간

1시간 30분?

어려울 이유 없는 문제인 것 같은데 유난히 어려웠다...TT