아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

흑백 패널

시간 제한2초메모리 제한256 MB

요약
격리된 단일 타일을 이용해 검은 영역 b개와 흰 영역 w개를 만드는 101열 격자를 고정된 규칙대로 출력합니다.
난이도

쉬움10점 중 2점

유형
구현, 행렬
정답자
아직 제출이 없습니다

문제

같은 크기의 검은 타일과 흰 타일을 붙여 직사각형 패널을 만든다. 완성한 패널에는 검은 타일로 이루어진 4방향 연결 영역이 정확히 bb개, 흰 타일로 이루어진 4방향 연결 영역이 정확히 ww개 있어야 한다.

어떤 색의 4방향 연결 영역은 다음 두 조건을 만족하는 타일의 극대 집합이다.

  • 집합에 속한 타일은 색이 모두 같다.
  • 집합에서 두 타일을 아무렇게나 고르면, 두 타일을 잇는 집합 안의 타일 열이 있고 그 열에서 이웃한 두 타일은 변을 공유한다.

조건을 만족하는 패널은 여러 가지이므로, 아래 출력 규칙이 정하는 패널 하나만 정답으로 인정한다.

입력

첫째 줄에 검은 영역의 개수 bb와 흰 영역의 개수 ww가 주어진다. (1≤b,w≤10001 \le b, w \le 1000)

출력

첫째 줄에 패널의 행 수 rr과 열 수 cc를 출력하고, 이어서 cc개의 문자로 이루어진 줄을 rr개 출력한다. 검은 타일은 @, 흰 타일은 .으로 나타낸다.

정답 패널은 다음 규칙으로 정해진다. 행과 열은 1부터 센다.

  • p=w−1p = w - 1, q=b−1q = b - 1로 둔다.
  • 열 수는 항상 c=101c = 101이다.
  • 위쪽 검은 블록의 높이는 h1=2⌈p/50⌉+1h_1 = 2\lceil p/50 \rceil + 1, 아래쪽 흰 블록의 높이는 h2=2⌈q/50⌉+1h_2 = 2\lceil q/50 \rceil + 1이고, r=h1+h2r = h_1 + h_2이다.
  • 위쪽 블록은 11행부터 h1h_1행까지이고 처음에는 전부 @이다. i=1,2,…,pi = 1, 2, \dots, p에 대해 2⌈i/50⌉2\lceil i/50 \rceil행 2(((i−1) mod 50)+1)2(((i-1) \bmod 50) + 1)열의 타일을 .으로 바꾼다.
  • 아래쪽 블록은 h1+1h_1 + 1행부터 rr행까지이고 처음에는 전부 .이다. j=1,2,…,qj = 1, 2, \dots, q에 대해 h1+2⌈j/50⌉h_1 + 2\lceil j/50 \rceil행 2(((j−1) mod 50)+1)2(((j-1) \bmod 50) + 1)열의 타일을 @로 바꾼다.

예제4

  1. 예제 1

    입력
    2 3
    
    예상 출력
    6 101
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @.@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    .....................................................................................................
    .@...................................................................................................
    .....................................................................................................
    
  2. 예제 2

    입력
    1 1
    
    예상 출력
    2 101
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    .....................................................................................................
    
  3. 예제 3

    입력
    1 2
    
    예상 출력
    4 101
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    .....................................................................................................
    
  4. 예제 4

    입력
    2 1
    
    예상 출력
    4 101
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    .....................................................................................................
    .@...................................................................................................
    .....................................................................................................