백준 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;
}