숙제 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 |