Cod sursa(job #230850)
| Utilizator | Data | 14 decembrie 2008 10:43:21 | |
|---|---|---|---|
| Problema | Tablete | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Algoritmiada 2009, Runda 1, Studenti | Marime | 0.76 kb |
#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;}
