본문 바로가기

코딩테스트

[C++] 절단 대각선 (Broken Diagonal)

숙제 2 (절단 대각선)

#include<iostream>
#include<algorithm>
#include<cstdlib>
using namespace std;


int main(){

	int n=0x00;
	cin>>n;
	int **arr;
	int *sum=new int[2*n];
	arr=new int *[n];
	for(int i=0;i<n;i++){
		arr[i]=new int[n];
		for(int j=0;j<n;j++) cin>>arr[i][j];
		
	}
	for(int i=0;i<2*n;i++) sum[i]=0;

	for(int s=0;s<n;s++){
		for(int j=0;j<n;j++) sum[s]+=arr[(s+j)%n][j];
		
	}
	for(int s=0;s<n;s++){
		for(int j=n-1;j>=0;j--) sum[s+n]+=arr[(s+n-1-j)%n][j];

	}

	cout<<*max_element(sum,sum+2*n)<<endl;
	return 0;
}

'코딩테스트' 카테고리의 다른 글

[C++] 괄호  (0) 2021.06.29
[C++] 방의 크기 구하기  (0) 2021.06.29
[C++] 1차원라이프(Life)게임  (0) 2021.06.29
[C++] 제일 작은 수 제거하기  (0) 2021.06.28
[C++] Happy Number  (0) 2021.06.27