답안 #1055384

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1055384 2024-08-12T18:34:51 Z fryingduc Prosjecni (COCI16_prosjecni) C++17
120 / 120
1 ms 604 KB
/**
 *	author: limwu
 *	created:25.08.2022 09:53:27
**/
/* #pragma GCC optimize("Ofast,unroll-loops") */
#include "bits/stdc++.h"
using namespace std;

#ifdef duc_debug
#include "bits/debug.h"
#else 
#define debug(...)     
#endif

#define int long long

int n;
void solve(){
    cin >> n;
    if(n % 2){
        int cnt = 1;
        for(int i = 1; i <= n; ++i){
            for(int j = 1; j <= n; ++j){
                cout << (cnt++) << " " ;
            }
            cout << '\n';
        }
    }
    else{
        if(n == 2) cout << -1;
        else{
            vector<vector<int>> a(n + 1, vector<int>(n + 1, 0));

            for(int i = 1; i <= n; ++i) a[1][i] = i;
            a[1][n] = n * (n - 1) / 2;
            for(int i = 2; i <= n; ++i){
                for(int j = 1; j <= n; ++j){
                    a[i][j] = a[i - 1][j] + a[1][n];
                }
            }
            for(int j = 1; j <= n; ++j){
                a[n][j] = n * a[n - 1][j];
                for(int i = 1; i < n; ++i){
                    a[n][j] -= a[i][j];
                }
            }
            for(int i = 1; i <= n; ++i){
                for(int j = 1; j <= n; ++j) cout << a[i][j] << " ";
                cout << '\n';
            }
        }
    }
}
signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int test = 1;
    /* cin >> test; */
    for(int i = 1; i <= test; i++){
        /* cout << "Case " << "#" << i << ": "; */
        solve();
    }

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 604 KB Output is correct