문제 번호 1190 --[기초-종합+배열] 바둑판에 흰돌 놓기

1190: [기초-종합+배열] 바둑판에 흰돌 놓기

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 510  해결 문제 수: 304
[제출][채점상황][게시판][:]

문제 설명

과학고의 모든 학생들은 기숙사에서 생활을 한다.

하지만, 어떤 금요일(전원 귀가일)에는 모두 자기 집으로 귀가를 한다.

오랜만에 집에 간 경곽이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가.

"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.


바둑판(19 * 19)에 n개의 흰돌을 놓는다고 할 때, n개의 흰돌이 놓인 위치를 출력하는 프로그램을 작성해보자.

입력

바둑판에 올려 놓을 흰돌의 개수(n) 가 첫 줄에 입력된다.
둘째 줄 부터 n+1 번째 줄까지 힌돌을 놓을 좌표(행번호, 열번호)가 n줄 입력된다.
(단, n은 10이하의 자연수이고 바둑 판의 행번호, 열번호 좌표는 1 ~19 까지이며, 같은 좌표는 입력되지 않는다.)

5*5 크기라고 하면

행번호 2, 열번호 4라고 하면

0 0 0 0 0

0 0 0 1 0

0 0 0 0 0

0 0 0 0 0

출력

흰돌이 올려진 바둑판의 상황을 출력한다.
(흰돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.)

입력예시

5
1 1
2 2
3 3
4 4
5 5

출력예시

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

도움말

가로번호, 세로번호를 사용할 수 있는 2차원 배열을 사용하면 이러한 형태를 쉽게 기록하고 사용할 수 있다.

물론 더 확장한 n차원 배열도 만들 수 있다.





예시

int n, i, j, x, y;

int a[20][20]={};

scanf("%d", &n);

for(i=1; i<=n; i++)

{

  scanf("%d %d", &x, &y);

  a[x][y]=1;

}



for(i=1; i<=19; i++)    //한 줄(위에서 아래로) 씩

{

  for(j=1; j<=19; j++)  //한 열(왼쪽에서 오른쪽으로) 씩

  {

    printf("%d ", a[i][j]); //값 출력

  }

  printf(" "); // 한 칸 띄우기 


}


출처

[제출][채점상황]