Cod sursa(job #1222310)

Utilizator assa98Andrei Stanciu assa98 Data 22 august 2014 20:06:52
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream fin("oras.in");
ofstream fout("oras.out");

bool ans[210][210];

int main() {
    int n;
    fin >> n;
    
    if(n == 4) {
        fout << "-1";
        return 0;
    }
    
    if(n & 1) {
        ans[1][2] = ans[2][3] = ans[3][1] = true;
        
        for(int p = 5;  p <= n; p += 2) {
            ans[p - 1][p] = true;
            
            for(int i = 1; i < p - 1; i++) {
                ans[i][p - 1] = true;
                ans[p][i] = true;
            }
        }
    }
    else {
        ans[1][2] = ans[1][4] = ans[1][6] = true;
        ans[2][3] = ans[2][5] = ans[2][6] = true;
        ans[3][1] = ans[3][5] = ans[4][2] = true;
        ans[4][3] = ans[4][5] = ans[5][1] = true;
        ans[5][6] = ans[6][3] = ans[6][4] = true;
        
        for(int p = 8; p <= n; p += 2) {
            ans[p - 1][p] = true;
            
            for(int i = 1; i < p - 1; i++) {
                ans[i][p - 1] = true;
                ans[p][i] = true;
            }
        }
    }

    for(int i = 1; i <= n; i++) {
        for(int j = 1; j  <= n; j++) {
            fout << ans[i][j];
        }
        fout << '\n';
    }

    return 0;
}