Cod sursa(job #1367728)

Utilizator Tokumei_no_KageFMI NEIMPORTANT Tokumei_no_Kage Data 2 martie 2015 02:09:24
Problema Tablete Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <stdio.h>
#include <stdlib.h>
FILE *f,*g;
int main()
{ f=fopen("tablete.in","r");
  g=fopen("tablete.out","w");
  int n,k,i,j,val,ok;
  fscanf(f,"%d %d",&n,&k);
  for(i=0;i<n;i++)
  {   ok=0;//numarul de pe coloana se presupune ca este par
      for(j=0;j<n;j++)
     {  if(i%2==0)val=i+j+1;//daca linia este impara adun indicii de la linie si coloana + 1
          else val=i+j+1+n;// daca linia este impara adun indicii de la linie si coloana plus dimensiunea matricii
        if(i==n-1)val--;//daca sunt pe ultima linie scad cu o unitate valoare
       if(j+1<k)fprintf(g,"%d ",val);
       if((j+1==k)&&(val%2==1))fprintf(g,"%d ",ok=val+1);//daca am ajuns la numar si este impar adun 1 si devine par
               else if((j+1==k)&&(val%2==0))fprintf(g,"%d ",val);//daca am ajuns la numar si este par il las asa
       if((ok)&&(j+1>k))fprintf(g,"%d ",val+1);//daca am adunat cu 1 la numarul de pe coloana k, voi face asta si la urmatoarele
          else if((!ok)&&(j+1>k))fprintf(g,"%d ",val);//daca nu am adunat nimic la numarul de pe coloana k, le voi afisa direct si pe urmatoarele
     }
     fprintf(g,"\n");
  }
    return 0;
}