/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, arr[51][51], i, j, c=0, center, x, y;
scanf("%d", &n);
center=n/2+1;
x=1;
y=center;
for(i=1;i<=n*n;i++)
{
arr[x][y]=i;
if(i%n==0)
{
x++;
}
else
{
if(x==1)
{
x=n;
}
else
{
x--;
}
if(y==n)
{
y=1;
}
else
{
y++;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int arr[11][11]={}, i, j, bomx, bomy, bom=0;
for(i=1; i<=9; i++)
{
for(j=1; j<=9; j++)
{
scanf("%d", &arr[i][j]);
}
}
scanf("%d %d", &bomx, &bomy);
if(arr[bomx][bomy]==1)
{
printf("-1");
}
else
{
if(arr[bomx-1][bomy]==1)
{
bom++;
}
if(arr[bomx][bomy-1]==1)
{
bom++;
}
if(arr[bomx-1][bomy-1]==1)
{
bom++;
}
if(arr[bomx+1][bomy]==1)
{
bom++;
}
if(arr[bomx][bomy+1]==1)
{
bom++;
}
if(arr[bomx+1][bomy+1]==1)
{
bom++;
}
if(arr[bomx-1][bomy+1]==1)
{
bom++;
}
if(arr[bomx+1][bomy-1]==1)
{
bom++;
}
printf("%d", bom);
}
}
*/
/*
#include <stdio.h>
int main()
{
int w, h, n, l, d, x, y, ane, arr[101][101], i, j;
scanf("%d %d %d", &w, &h, &n);
for(ane=1;ane<=n;ane++)
{
scanf("%d %d %d %d", &l, &d, &x, &y);
arr[x][y]=1;
if(d==1)
{
for(j=1;j<=l-1;j++)
{
arr[x+j][y]=1;
}
}
else
{
for(j=1;j<=l-1;j++)
{
arr[x][y+j]=1;
}
}
}
for(ane=1;ane<=w;ane++)
{
for(j=1;j<=h;j++)
{
printf("%d ", arr[ane][j]);
}
printf("\n");
}
}
*/
코드업 1515번 생명 게임1 문제
1. 문제 설명
생명 게임은 25×25 격자에서 하는 게임이다.
각 칸에는 최대 1마리의 생명이 존재 할 수 있으며, 한 "세대"가 지날때 마다 생명이 탄생하거나 죽는다.
생명이 탄생하거나 죽는 조건은 다음과 같다:
25×25 격자의 생명의 위치가 주어질 때, 다음 세대의 모습을 출력하시오.
2. 입력
25x25격자 정보가 입력된다. 총 25행, 25열이 입력된다. 생명이 있는 경우 1, 생명이 없는 경우 0으로 표시하며, 각 정보는 띄어쓰기로 구분된다.
3. 출력
다음 세대의 25×25 격자의 모습을 출력한다.
역시 마찬가지로 생명이 있는 경우 1, 생명이 없는 경우 0으로 표시한다.
4. 입력 예시
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 1 1 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 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 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 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 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 1 1 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 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 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 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 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 1 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
5. 출력 예시
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 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 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 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 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 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 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 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 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 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 1 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
코드업 1513번 지그재그 배열 3 문제
1. 문제 설명
하나의 정수 n을 입력받아 n*n사각형에서 다음과 같은 삼각형 모양으로 지그재그로 출력하시오.
예를 들어, n이 5이면,
0 0 0 0 5
0 0 0 4 6
0 0 3 7 12
0 2 8 11 13
1 9 10 14 15
를 출력한다.
2. 입력
정수 n이 입력된다.( 1 <= n <= 99)
3. 출력
n*n사각형에서 삼각형 모양으로 지그재그 출력한다.
4. 입력 예시
5
5. 출력 예시
0 0 0 0 5
0 0 0 4 6
0 0 3 7 12
0 2 8 11 13
1 9 10 14 15
왼쪽 아래에서 오른쪽 위로 올라간 후 다시 왼쪽 아래로 내려오는 것을 반복한다.
코드업 4085번 농사짓기 가장 좋은 땅 고르기 문제 풀이 해답입니다.
1. 문제 설명
교원이는 전체 가로 m칸, 세로 n칸 크기의 땅에서 가장 비옥한 구역을 찾아 농사를 지으려고 한다. 비옥도(k)는 각 칸에 0~99 사이의 숫자로 표시되며, 교원이가 농사를 짓기 위해 골라야 하는 땅의 크기는 가로 x칸, 세로 y칸이다. 구역 비옥도(ka)를 각 칸 의 비옥도(k)의 합으로 결정한다면, 입력받은 땅 데이터에서 교원이가 찾을 수 있는 구 역 비옥도(ka)의 최댓값을 구하는 프로그램을 작성하시오.
예를 들어, 전체 가로 4칸, 세로 4칸 크기의 땅의 비옥도가 그림과 같이 주어져 있을 때, 교원 이가 농사를 짓기 위해 골라야 하는 땅의 크기가 가로 2칸, 세로 2칸이라고 한다면, 구역 비옥도(ka)의 최댓값은 색칠된 영역에 해당되는 수의 합이다. (3+4+1+7=15)
2. 입력
1. 첫째 행에 m, n, x, y가 빈칸으로 구분되어 주어진다. (단, 3≤m≤100, 3≤n≤100, 1≤x≤m, 1≤y≤n)
2. 둘째 행부터 각 칸의 비옥도(k)가 빈칸과 줄 바꿈으로 구분되어 차례대로 한 줄씩 m×n 개만큼 주어진다.
3. 출력
가로 x칸, 세로 y칸 크기의 구역 중에서 나올 수 있는 구역 비옥도(ka)의 최댓값을 출 력한다.
4. 입력 예시
10 3 2 2
10 15 11 24 55 21 10 19 14 10
10 12 19 19 44 39 24 15 14 11
10 77 66 50 50 50 40 35 25 15
5. 출력 예시
183