본문 바로가기
알고리즘/문제

[백준] 3495. 아스키 도형 <C++>

by 코드 이야기 2020. 4. 13.
728x90

www.acmicpc.net/problem/3495

 

3495번: 아스키 도형

창영이는 메모장에 '.', '\', '/'을 이용해서 도형을 그렸다. 각 문자는 그림에서 1*1크기의 단위 정사각형을 나타낸다. '.'은 빈 칸을 나타내며, '/'는 정사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓

www.acmicpc.net

 

#include <iostream>
using namespace std;

int main() {
  int h, w, i, j, dot=0, slash=0; 
  char arr[101][101];
  cin>>h>>w;

  for(i=0; i<h; i++)
  {
    cin>>arr[i];  
    for(j=0; j<w; j++)
    {
      if(arr[i][j]==92 || arr[i][j]=='/')   //슬래쉬의 개수를 세준다
        slash++;  

	//슬래쉬의 개수가 짝수이면 닫혀있는 것이고(점의 개수를 세지 않는 것이고)
    //슬래쉬의 개수가 홀수이면 열려있는 것이다(점의 개수를 세는 것이다.)
      if(slash%2)       
      {
        if(arr[i][j]=='.')
        {
          dot++;
        }
      }
    }
  }
  cout<<(slash/2)+dot;
}
728x90

댓글