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

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

서로 잡을 수 없는 룩

면접 대비

시간 제한1초메모리 제한512 MB

요약
n×m 보드에 룩 k개를 같은 행이나 열에 놓이지 않도록 배치합니다. 배치가 불가능하면 Impossible을 출력합니다.
난이도

쉬움10점 중 2점

유형
구현, 그리디
정답자
아직 제출이 없습니다

문제

룩은 체스의 말 중 하나이다. 룩은 가로 또는 세로 방향으로 빈 칸을 원하는 만큼 지나갈 수 있지만, 말을 뛰어넘을 수는 없다. 룩은 같은 세로줄이나 가로줄에 있는 다른 말을 잡을 수 있다. 한 칸에는 룩을 최대 한 개만 놓을 수 있다.

n×mn \times m 크기의 체스판과 kk개의 룩이 주어진다. 어떤 두 룩도 서로를 잡을 수 없도록 룩을 체스판에 놓아야 한다.

입력

한 줄에 정수 nn, mm, kk가 주어진다. 각각 체스판의 두 변의 길이와 룩의 개수이다 (1≤n,m,k≤1001 \le n, m, k \le 100).

출력

n×mn \times m 체스판에 kk개의 룩을 놓을 수 없으면 Impossible을 출력한다.

조건을 만족하는 배치가 하나라도 있으면 Possible을 출력한다. 이어서 nn개의 줄을 출력하며, 각 줄은 mm개의 문자로 이루어진다. ii행 jj열 칸에 룩이 있으면 *, 비어 있으면 .을 출력한다. 조건을 만족하는 배치가 여럿이면 그중 아무것이나 출력해도 된다.

힌트

그림은 세 번째 테스트 케이스의 룩 배치를 보여준다. 빨간 칸은 왼쪽 아래 룩이 잡을 수 있는 칸이고, 파란 칸은 오른쪽 위 룩이 잡을 수 있는 칸이다. 보라색 칸은 두 룩이 모두 잡을 수 있는 칸이다.

예제3

  1. 예제 1

    입력
    1 2 1
    
    예상 출력
    Possible
    *.
    
  2. 예제 2

    입력
    3 3 100
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    3 5 2
    
    예상 출력
    Possible
    ..*..
    .....
    *....