Ai Q? Sau n-ai Q ?

by dumitru on 21 ianuarie 2010 · 14 comments

Ideea jocului este de a aprinde cat mai multe casute. Dar cred ca v-ati prins deja…

Da, are solutie. Uite una.

Probleme similare:

[Arata raspunsurile] [Raspunde si tu!]

{ 1 trackback }

Tweets
21 ianuarie 2010 la 15:55

{ 13 comments… read them below or add one }

1 dan negru 21 ianuarie 2010 la 17:20
2 dumitru 21 ianuarie 2010 la 17:25

you did it :)

Răspunde

3 Adrian 21 ianuarie 2010 la 17:27

jocul asta nu e asemanator cu problema damelor? :-?

Răspunde

4 dumitru 21 ianuarie 2010 la 17:28

dap ;)

Răspunde

5 Adrian 21 ianuarie 2010 la 17:31

alta rezolvare
http://i50.tinypic.com/2k4v0w.png

… pana la 92 mai avem doar …. cateva :))

Răspunde

6 A.Dragos 21 ianuarie 2010 la 17:59

Se pare ca am gasit-o si eu :) .
http://i47.tinypic.com/33f4acp.jpg

Răspunde

7 eM O 21 ianuarie 2010 la 18:16
8 Vali 21 ianuarie 2010 la 18:41
9 Andreea 21 ianuarie 2010 la 20:09
10 Mircea Dima 21 ianuarie 2010 la 22:54

uite rezolvarea problemei in O(n) (liniar nu backtracking)

[code]
#include
#include
#define N 1024

using namespace std;

int a[N];
int n;

int main()
{
freopen("dame.in","r",stdin);

scanf("%d", &n);

int r = n % 12;

int i, j;
int nr = 0;

for(i = 2; i <= n; i += 2)
a[++nr] = i;

if(r == 3 || r == 9)
{
nr = 0;
// mut pe 2 la sfarsitul listei
for(i = 4; i <= n; i += 2)
a[++nr] = i;
a[++nr] = 2;
}

int old = nr;
for(i = 1; i <= n; i += 2)
a[++nr] = i;

if(r == 8)
{
for(i = old + 1; i <= nr; i += 2)
swap(a[i], a[i+1]);
}

if(r == 2)
{//interschimb 1 cu 3 si mut pe 5 la sf
nr = old;

a[++nr] = 3;
a[++nr] = 1;
for(i = 7; i <= n; i += 2)
a[++nr] = i;

a[++nr] = 5;
}

if(r == 3 || r == 9)
{
nr = old;
for(i = 5; i <= n; i += 2)
a[++nr] = i;
a[++nr] = 1;
a[++nr] = 3;
}

freopen("dame.out","w",stdout);
if(n == 1)
{
printf("1\n");
printf("1 1\n");
return 0;
}
if(n == 2)
{
printf("1\n");
printf("1 1\n");
return 0;
}

if(n == 3)
{
printf("2\n");
printf("1 1\n");
printf("2 3\n");
return 0;
}

printf("%d\n", n);

for(i = 1; i <= n; ++i)
printf("%d %d\n", i, a[i]);

return 0;
}
[/code]

Răspunde

11 dumitru 21 ianuarie 2010 la 23:11

esti foarte tare :) da, ma gandeam ca o sa spuna lumea ca e problema damelor, dar sa postezi codul… felicitari :)

Răspunde

12 cLeM 24 iunie 2010 la 15:43

elementele sunt c15, c22, c34, c46, c58, c63, c71, c87 :D

Răspunde

13 Adrian 9 iunie 2011 la 16:30

nu stiu daca s-a mai dat solutia asta ca nu am stat sa citesc toate comentariile dar am gasit si eu una:

http://img233.imageshack.us/img233/2472/solutie.jpg

Răspunde

Leave a Comment

*

Previous post:

Next post:

</