Cod sursa(job #1880491)

Utilizator mihai2003LLL LLL mihai2003 Data 15 februarie 2017 19:51:32
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int v[1001][1001];
int v2[1001];
int main()
{
    int n,k,nr;
    nr=1;
    in>>n>>k;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++){
            v[j][i]=nr;
            nr++;
        }
    for(int i=n;i>0;v2[i]=v[i][k],i--){
        if(v[i][k]%2==0)
            continue ;
        else{
            int a1,a2;
            a1=i-1;
            a2=i+1;
            a:
            while(a1>0 && v[a1][k+1]%2==1)
                a1--;
            if(a1!=0 ){
                if( v[a1][k+1]>v[i][k])
                swap(v[a1][k+1],v[i][k]);
                else
                    goto a;
            }
            else{
                b:
                while(a2<n && v[a2][k-1]%2==1)
                    a2++;
                if(a2!=n){
                    if(v[a2][k-1]<v[i][k])
                        swap(v[a2][k-1],v[i][k]);
                    else
                        goto b;
                }
            }
        }
    }
    for(int i=1;i<=n;i++,out<<endl)
        for(int j=1;j<=n;j++)
            out<<v[i][j]<<" ";
    return 0;
}