728x90
https://www.acmicpc.net/problem/10709
1. 문제 설명
HxW 구역에 대해 구름이 있는지 (c) 없는지(.)가 주어지고 동쪽으로 구름이 1씩 이동한다고 하였을 때 구름이 몇 분 후에 뜨는지를 표시한다. 단, 구름이 아예 뜨지 않는 다면 -1을 출력한다.
string으로 입력을 받아 각 인덱스의 문자가 c일 경우 0을 출력하고 base index로 잡는다.
인덱스의 문자가. 일 경우 현재 열에 base index가 존재할 시 현재 인덱스에서 base index를 뺀 값을 출력하고, 존재하지 않을 경우 -1을 출력한다.
2. 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int H,W;
cin >> H >> W;
for(int x=0;x<H;x++)
{
string cloud;
cin >> cloud;
int b_index=-1;
for(int y=0;y<W;y++)
{
if(cloud[y]=='c')
{
b_index=y;
cout << "0 ";
}
else
{
if(b_index==-1)
cout <<"-1 ";
else
cout << y-b_index <<" ";
}
}
cout <<"\n";
}
return 0;
}
728x90
'알고리즘' 카테고리의 다른 글
[C++]백준 10953번: A+B - 6 (0) | 2020.05.28 |
---|---|
[C++]백준 3058번: 짝수를 찾아라 (0) | 2020.05.28 |
[C++]백준 1138번: 한 줄로 서기 (0) | 2020.05.27 |
[C++]백준 9324번: 진짜 메시지 (0) | 2020.05.27 |
[C++]백준 10984번: 내 학점을 구해줘 (0) | 2020.05.27 |