Cod sursa(job #286018)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 23 martie 2009 12:31:14
Problema Tablete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<fstream>
using namespace std;
int m,k,n,i,j,val,v[1010][1010];
ifstream f("tablete.in");
ofstream g("tablete.out");

void afisare()
{
for(i=1;i<=n;i++)
 {for(j=1;j<=n;j++)
   g<<v[i][j]<<" ";
  g<<'\n';
 }
}
int main()
{
f>>n>>k;    m=0;
for(i=1;i<=n;i++)
 for(j=1;j<=n;j++)
  v[i][j]=++m;
if(n%2==0)
  if(k%2==0) afisare();
  else { for(i=1;i<=n;i++)
         { val=v[i][1];  for(j=1;j<n;j++) v[i][j]=v[i][j+1];
          v[i][n]=v[i+1][n];  i++;
          for(j=n;j>1;j--) v[i][j]=v[i][j-1];
          v[i][1]=val;
         }
         afisare();
        }
else if(k%2==0)
       { for(i=2;i<=n;i+=2)
          {val=v[i][2];
            for(j=2;j<n;j++) v[i][j]=v[i][j+1];
            v[i][n]=v[i+1][1];
            v[i+1][1]=val;
          }
         afisare();
        }
else { val=v[1][k]; for(j=k;j<n;j++) v[1][j]=v[1][j+1];
       v[1][n]=v[2][1]; v[2][1]=val;

       for(i=3;i<=n;i+=2)

         { val=v[i][k]; for(j=k;j>1;j--) v[i][j]=v[i][j-1];
            v[i][1]=v[i-1][n]; v[i-1][n]=val;
         }
       afisare();
      }
f.close();
g.close();
return 0;
}