Cod sursa(job #1213540)

Utilizator hopingsteamMatraguna Mihai-Alexandru hopingsteam Data 28 iulie 2014 13:38:50
Problema Tablete Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include    <iostream>
#include    <fstream>

using namespace std;

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

int N, K;
int mat[1005][1005];
int crt, crt2;

void solve1()
{
    crt2 = N * K;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < K; j++)
        {
            crt += 1;
            fout << crt << " ";
        }
        for(int j = K; j < N; j++)
        {
            crt2 += 1;
            fout << crt2 << " ";
        }
        fout << "\n";
    }
}

void solve2()
{
    crt += 1;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            crt += 1;
            if(i == N - 1) mat[i][j + 1] = crt;
            else mat[i][j] = crt;
        }
    }
    
    mat[N - 1][0] = 1;
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            fout << mat[i][j] << " ";
        }
        fout << "\n";
    }
}

void solve3()
{
    cout << 1;
}

void read()
{
    fin >> N >> K;
    if(!(K % 2)) solve1();
    if(K % 2 && (!(N % 2))) solve2();
    if(K % 2 && N % 2) solve3();
}

int main()
{
    read();
    return 0;
}