백준 10709 c++

magicdrill·2024년 5월 22일

백준 문제풀이

목록 보기
352/673

백준 10709 c++

#include <iostream>
#include <vector>

using namespace std;

void input_cloud(vector<vector<char>> &cloud)
{
	int i, j, H, W;

	cin >> H >> W;
	cloud.resize(H, vector<char>(W));
	for (i = 0; i < H; i++)
	{
		for (j = 0; j < W; j++)
		{
			cin >> cloud[i][j];
		}
	}

	return;
}

void find_answer(vector<vector<char>>& cloud)
{
	vector<vector<int>> answer(cloud.size(), vector<int>(cloud[0].size(), -1));
	int i, j, current;

	for (i = 0; i < cloud.size(); i++)
	{
		for (j = 0; j < cloud[i].size(); j++)
		{
			if (cloud[i][j] == 'c')
			{
				answer[i][j] = 0;
			}
			else if (j > 0 && answer[i][j - 1] > -1)
			{
				answer[i][j] = answer[i][j - 1] + 1;
			}
		}
	}

	for (i = 0; i < answer.size(); i++)
	{
		for (j = 0; j < answer[i].size(); j++)
		{
			cout << answer[i][j] << " ";
		}
		cout << "\n";
	}


	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<vector<char>> cloud;

	input_cloud(cloud);
	find_answer(cloud);

	return 0;
}

0개의 댓글