100 100 2차원 배열이 주어질 때.
각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성.
5 5 배열에서 최댓값은 29입니다.
총 10개의 테케가 주어짐
배열 크기 100 100 으로 동일
각 행의 합은 정수 범위
동일한 최댓값 경우 하나의 값만 출력함
입력
각 테케 첫 줄 테 케 번호가 주어짐.
그 다음 줄부터 2차원 배열의 각 행 값이 주어짐.
출력
출력완료
#include <stdio.h>
//#include <memory.h>
int main()
{
//freopen("input.txt", "r", stdin);
int t, tc; // 테케
for (t = 1; t <= 10; t++) // 총 10번의 테케
{
scanf("%d", &tc); // 테캐 번호 입력 받음
int tmp;
int col[100] = { 0 }, row[100] = { 0 }, cross[2] = { 0 }; // 초기화
for (int i = 0; i < 100; i++) // 100 번 인덱스 아이
{
for (int j = 0; j < 100; j++) // 100번 인덱스 제이
{
scanf("%d", &tmp); // tmp 를 받고, row 에 넣고,
row[i] = row[i] + tmp; // col 에 넣고
col[j] = col[j] + tmp;
if (i == j)
cross[0] = cross[0] + tmp; // 크로스 계산
if (i + j == 99)
cross[1] = cross[1] + tmp;
}
}
int res = 0; // 결과값
for (int i = 0; i < 100; i++)
{
if (row[i]>res) // 로우중 가장 큰 값
res = row[i];
if (col[i] > res) // 컬중 가장 큰 값
res = col[i];
}
if (cross[0] > res) // 크로스 중 가장 큰 값을 찾음.
res = cross[0];
if (cross[1] > res)
res = cross[1];
printf("#%d %d\n", t, res); // 출력함
}
return 0;
}
'Algorithms > simulation' 카테고리의 다른 글
1217 거듭 제곱 (0) | 2018.10.26 |
---|---|
1213 String (0) | 2018.10.26 |
1206 View (0) | 2018.10.26 |
1208 Flatten (0) | 2018.10.26 |
1204 최빈수 구하기 (0) | 2018.10.26 |
댓글