Cod sursa(job #2058900)

Utilizator MihneaGhiraMihnea MihneaGhira Data 6 noiembrie 2017 13:16:38
Problema Tablete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n,k,i,j,u,c,aux;
int a[1002][1002];
int main(){
    fin>>n>>k;
    if(k%2==0){
        k=0;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++)
                fout<<++k<<" ";
            fout<<"\n";
        }
    }
    else{
        c=u=1;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(i==n&&j==n&&c!=u&&u>=n*n){
                    a[i][j]=c;
                    break;
                }
                if(c!=u&&j!=k&&a[i][j-1]<c){
                    a[i][j]=c;
                    c=u;
                    continue;
                }
                if(j!=k){
                    a[i][j]=u;
                    if(c==u)
                        c++;
                        u++;
                }
                else{
                    if(u%2!=0){
                        c=u;
                            u++;
                    }
                    a[i][j]=u;
                        u++;
                }
            }
        }
    }
    aux=a[n][n];
    a[n][n]=a[n-1][n];
    a[n-1][n]=aux;
    sort(a[n]+1,a[n]+n+1);
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            fout<<a[i][j]<<" ";
        }
        fout<<"\n";
    }
    return 0;
}