Mai intai trebuie sa te autentifici.
Cod sursa(job #2011998)
| Utilizator | Data | 17 august 2017 16:52:13 | |
|---|---|---|---|
| Problema | Tablete | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.23 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("Tablete.in");
ofstream fout("Tablete.out");
int n,k,a[1001][1001];
void completare(int n,int k,int a[1001][1001])
{
int nr=1;
for(int i=0;i<n;i++)
for(int j=0;j<k;j++)
{
a[i][j]=nr;
nr++;
}
for(int i=0;i<n;i++)
for(int j=k;j<n;j++)
{
a[i][j]=nr;
nr++;
}
//cout<<nr;
}
void interschimbareNr(int &a,int &b)
{
int aux=a;
a=b;
b=aux;
}
void interschimbareGen(int n,int k,int a[1001][1001])
{
for(int i=0;i<n-1;i+=2)
interschimbareNr(a[i][k-1],a[i+1][0]);
}
void generare(int n,int k,int a[1001][1001])
{
completare(n,k,a);
if(n%2==0 && k%2==1)
interschimbareGen(n,k,a);
if(n%2==1 && k%2==1)
{
interschimbareGen(n,k,a);
interschimbareNr(a[n-1][k-1],a[0][k]);
}
}
void afisare(int n,int a[1001][1001])
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
fout<<a[i][j]<<" ";
fout<<endl;
}
}
int main()
{
fin>>n>>k;
//completare(n,k,a);
generare(n,k,a);
afisare(n,a);
return 0;
}
