Pagini recente » Diferente pentru utilizator/funkydvd intre reviziile 56 si 55 | Diferente pentru problema/ecuatie intre reviziile 21 si 25 | Cod sursa (job #3272912) | Cod sursa (job #230848)
Cod sursa(job #230848)
#include <iostream>
#include <fstream>
#define M 1001
using namespace std;
ifstream f ("tablete.in");
ofstream g ("tablete.out");
int N,K,a[M][M],k,st[M],nm = 1;
void par() {if (K % 2 == 0) for (int i = 1; i <= N; ++i) for (int j = 1; j <= N; ++j) a[j][i] = nm++; }
void scrie(int k) {for (int i = 1; i < k; i++) g << st[i] << ' '; g << '\xA';}
int valid ()
{for (int i = 1; i < k; i++) if ( st[i] == st[k] || st[i] > st[i+1] || st[k] % 2 == 0) return 0;
return 1;}
int main(){
f >> N >> K; par();
/*k = 1; st[k] = 0;
while (k)
{
if ( k == N + 1 ) { scrie(k--); }
else
if ( st[k] < N*N ) {st[k]++; if (valid()) st[++k] = 0; }
else k--;
}
*/
for (int i = 1; i <= N; ++i){
for (int j = 1; j <= N; ++j)
cout << a[j][i]<< ' '; cout << '\xA';}
return 0;}