Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
Tonci Forumaš(ica)
Pridružen/a: 31. 10. 2002. (13:46:40) Postovi: (61)16
Spol:
Lokacija: Split
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 2:05 uto, 12. 11. 2002 Naslov: |
|
|
[quote="krcko"]Da, to je to. Jos "samo" ostaje prebrojiti rijeci maksimalne duljine. Evo jedan mali hint: onaj [i]n[/i]! u konacnom rjesenju dolazi od permutiranja slova. No to nije jedini nacin da od jedne takve rijeci napravimo drugu. Ako ispisete sva rjesenja za [i]n[/i]=2 trebalo bi vam biti jasnije...[/quote]
Ja znam za [i]n[/i]=1 :!: :)
Ako netko hoce "Perlusinu" (izuzetno neoptimiziranu - za [i]n[/i]=4 treba cijelu vjecnost)....
[code:1]#!/usr/bin/env perl
use strict;
my $n = $ARGV[0] || 2;
die "'n' is too big, stopped" if $n > 20;
my $letters = [ map { chr(ord('a') + $_) } (0..$n-1) ];
my $wcnt;
try();
sub count {
my $word = shift;
my $cnt = {};
foreach (split("", $word)) {
$cnt->{$_}++;
}
return $cnt;
}
sub try {
my $word = shift;
if ((my $len = length($word)) >= 3 * @$letters) {
for (my $i = 0; $i < $len - 2; $i++) {
for (my $j = 3; $j < $len - $i + 1; $j++) {
substr($word, $i, $j) =~ /^(.)(.+)(.)$/;
next unless $1 eq $3;
my $cnt = count($2);
foreach (keys %$cnt) {
return if $cnt->{$_} > 1;
}
}
}
printf "%3d. %s\n", ++$wcnt, $word;
return;
}
my $cnt = count($word);
foreach my $letter (@$letters) {
try($word.$letter) if $cnt->{$letter} < 3;
}
}
[/code:1]
Inace, Krcko ima pravo. Kad se malo raspise (sto ja nisam u stanju "na ruke" :)), rjesenje se lako vidi. Pitanje je jos "zasto" bas tako, no nakon malo mozganja i to postane lako... :)
krcko (napisa): | Da, to je to. Jos "samo" ostaje prebrojiti rijeci maksimalne duljine. Evo jedan mali hint: onaj n! u konacnom rjesenju dolazi od permutiranja slova. No to nije jedini nacin da od jedne takve rijeci napravimo drugu. Ako ispisete sva rjesenja za n=2 trebalo bi vam biti jasnije... |
Ja znam za n=1
Ako netko hoce "Perlusinu" (izuzetno neoptimiziranu - za n=4 treba cijelu vjecnost)....
Kod: | #!/usr/bin/env perl
use strict;
my $n = $ARGV[0] || 2;
die "'n' is too big, stopped" if $n > 20;
my $letters = [ map { chr(ord('a') + $_) } (0..$n-1) ];
my $wcnt;
try();
sub count {
my $word = shift;
my $cnt = {};
foreach (split("", $word)) {
$cnt->{$_}++;
}
return $cnt;
}
sub try {
my $word = shift;
if ((my $len = length($word)) >= 3 * @$letters) {
for (my $i = 0; $i < $len - 2; $i++) {
for (my $j = 3; $j < $len - $i + 1; $j++) {
substr($word, $i, $j) =~ /^(.)(.+)(.)$/;
next unless $1 eq $3;
my $cnt = count($2);
foreach (keys %$cnt) {
return if $cnt->{$_} > 1;
}
}
}
printf "%3d. %s\n", ++$wcnt, $word;
return;
}
my $cnt = count($word);
foreach my $letter (@$letters) {
try($word.$letter) if $cnt->{$letter} < 3;
}
}
|
Inace, Krcko ima pravo. Kad se malo raspise (sto ja nisam u stanju "na ruke" ), rjesenje se lako vidi. Pitanje je jos "zasto" bas tako, no nakon malo mozganja i to postane lako...
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
Postano: 11:56 uto, 12. 11. 2002 Naslov: |
|
|
[quote="C'Tebo"]Pa ovako, odoka, rekao bih n!*2^(n-1)[/quote]
Je li to vas zadnji odgovor...? Da? Odgovor je tocan! Ajd sad da cujemo neko objasnjenje..
Btw, imam problema s pokretanjem perlusina na 'studentu'. Javlja ovakve stvari:
[code:1]Global symbol "letters" requires explicit package name at ./perlusina line 23.
Global symbol "i" requires explicit package name at ./perlusina line 24.
Global symbol "len" requires explicit package name at ./perlusina line 24.
Global symbol "j" requires explicit package name at ./perlusina line 25.
Global symbol "wcnt" requires explicit package name at ./perlusina line 34.
Missing $ on loop variable at ./perlusina line 38.
[/code:1]
Na 'cromathu' radi bez greske, u cemu je kvaka? :roll:
C'Tebo (napisa): | Pa ovako, odoka, rekao bih n!*2^(n-1) |
Je li to vas zadnji odgovor...? Da? Odgovor je tocan! Ajd sad da cujemo neko objasnjenje..
Btw, imam problema s pokretanjem perlusina na 'studentu'. Javlja ovakve stvari:
Kod: | Global symbol "letters" requires explicit package name at ./perlusina line 23.
Global symbol "i" requires explicit package name at ./perlusina line 24.
Global symbol "len" requires explicit package name at ./perlusina line 24.
Global symbol "j" requires explicit package name at ./perlusina line 25.
Global symbol "wcnt" requires explicit package name at ./perlusina line 34.
Missing $ on loop variable at ./perlusina line 38.
|
Na 'cromathu' radi bez greske, u cemu je kvaka?
_________________ Vedran Krcadinac
Ljudi su razliciti, a nula je paran broj.
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 12:35 uto, 12. 11. 2002 Naslov: |
|
|
[quote="krcko"]Btw, imam problema s pokretanjem perlusina na 'studentu'. Javlja ovakve stvari:
[code:1]Global symbol "letters" requires explicit package name at ./perlusina line 23.
Global symbol "i" requires explicit package name at ./perlusina line 24.
Global symbol "len" requires explicit package name at ./perlusina line 24.
Global symbol "j" requires explicit package name at ./perlusina line 25.
Global symbol "wcnt" requires explicit package name at ./perlusina line 34.
Missing $ on loop variable at ./perlusina line 38.
[/code:1]
Na 'cromathu' radi bez greske, u cemu je kvaka? :roll:[/quote]
U azurnosti svima nam dragog kolege administratora. Na studentu:
[code:1][student] math 12:28 [~] > perl -v
This is perl, version 5.000
Copyright 1987-1994, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
[/code:1]
Na Cromathu:
[code:1][cromath@vsego]/math/vsego $ perl -v
This is perl, version 5.005_02 built for PA-RISC1.1
Copyright 1987-1998, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
[/code:1]
Ja sam stvar vrtio na Perlu 5.6.1 iz 2001. (ili cak 2002?) koji dodje sa RedHatom 7.3. Za Windoze, [url=http://www.activestate.com/Products/ActivePerl/]ActiveState Perl[/url] je i vise nego dobar (mada ima svojih musica).
krcko (napisa): | Btw, imam problema s pokretanjem perlusina na 'studentu'. Javlja ovakve stvari:
Kod: | Global symbol "letters" requires explicit package name at ./perlusina line 23.
Global symbol "i" requires explicit package name at ./perlusina line 24.
Global symbol "len" requires explicit package name at ./perlusina line 24.
Global symbol "j" requires explicit package name at ./perlusina line 25.
Global symbol "wcnt" requires explicit package name at ./perlusina line 34.
Missing $ on loop variable at ./perlusina line 38.
|
Na 'cromathu' radi bez greske, u cemu je kvaka? |
U azurnosti svima nam dragog kolege administratora. Na studentu:
Kod: | [student] math 12:28 [~] > perl -v
This is perl, version 5.000
Copyright 1987-1994, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
|
Na Cromathu:
Kod: | [cromath@vsego]/math/vsego $ perl -v
This is perl, version 5.005_02 built for PA-RISC1.1
Copyright 1987-1998, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
|
Ja sam stvar vrtio na Perlu 5.6.1 iz 2001. (ili cak 2002?) koji dodje sa RedHatom 7.3. Za Windoze, ActiveState Perl je i vise nego dobar (mada ima svojih musica).
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 14:34 uto, 12. 11. 2002 Naslov: |
|
|
[quote="krcko"]
Je li to vas zadnji odgovor...? Da? Odgovor je tocan! Ajd sad da cujemo neko objasnjenje..[/quote]
Pa ovak....
n! je jasno (nadam se)
2^(n-1) izlazi iz toga što se na "rubu" slova mogu ispermutirati još zadnje slovo iz prve trojke i prvo slovo iz druge trojke
npr.
aaabbb, aababb
A to možemo napraviti na n-1 mjesta.
Ne možemo nikako drugačije ispermutirati slova jerbo bi onda između neka dva bila još dva ista (drugog slova)
npr
ab+aabb->ne valja
ab+abab->ne valja
i tako dalje.
Eto, jel točno???? :D
krcko (napisa): |
Je li to vas zadnji odgovor...? Da? Odgovor je tocan! Ajd sad da cujemo neko objasnjenje.. |
Pa ovak....
n! je jasno (nadam se)
2^(n-1) izlazi iz toga što se na "rubu" slova mogu ispermutirati još zadnje slovo iz prve trojke i prvo slovo iz druge trojke
npr.
aaabbb, aababb
A to možemo napraviti na n-1 mjesta.
Ne možemo nikako drugačije ispermutirati slova jerbo bi onda između neka dva bila još dva ista (drugog slova)
npr
ab+aabb→ne valja
ab+abab→ne valja
i tako dalje.
Eto, jel točno????
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
Postano: 8:02 čet, 14. 11. 2002 Naslov: |
|
|
[quote="C'Tebo"]Eto, jel točno???? :D[/quote]
Ma da, tocno je.. da ponovimo, od rijeci aaabbbccc...zzz mozemo napraviti jos rijeci maksimalne duljine permutiranjem slova i zamjenom dva susjedna (razlicita) slova. To pokazuje da rijeci maksimalne duljine ima [b]barem[/b] n!*2^(n-1). Trebalo bi dokazati da se tako dobivaju [b]sve[/b] rijeci maksimalne duljine, ali to vec spada u kategoriju heptanona pa cemo pustiti.
[i]Cast[/i] i [i]slavu[/i] dodjeljujem C'Tebi, a on neka udijeli Tonciju koliko misli da ga ide.
C'Tebo (napisa): | Eto, jel točno???? |
Ma da, tocno je.. da ponovimo, od rijeci aaabbbccc...zzz mozemo napraviti jos rijeci maksimalne duljine permutiranjem slova i zamjenom dva susjedna (razlicita) slova. To pokazuje da rijeci maksimalne duljine ima barem n!*2^(n-1). Trebalo bi dokazati da se tako dobivaju sve rijeci maksimalne duljine, ali to vec spada u kategoriju heptanona pa cemo pustiti.
Cast i slavu dodjeljujem C'Tebi, a on neka udijeli Tonciju koliko misli da ga ide.
_________________ Vedran Krcadinac
Ljudi su razliciti, a nula je paran broj.
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 14:59 čet, 14. 11. 2002 Naslov: |
|
|
[quote="krcko"][quote="C'Tebo"]Eto, jel točno???? :D[/quote]
Ma da, tocno je.. da ponovimo, od rijeci aaabbbccc...zzz mozemo napraviti jos rijeci maksimalne duljine permutiranjem slova i zamjenom dva susjedna (razlicita) slova. To pokazuje da rijeci maksimalne duljine ima [b]barem[/b] n!*2^(n-1). Trebalo bi dokazati da se tako dobivaju [b]sve[/b] rijeci maksimalne duljine, ali to vec spada u kategoriju heptanona pa cemo pustiti.
[i]Cast[/i] i [i]slavu[/i] dodjeljujem C'Tebi, a on neka udijeli Tonciju koliko misli da ga ide.[/quote]
A meni za onu "Perlusinu"? (ja sam skroman... dosta je i porcija cevapa :))
krcko (napisa): | C'Tebo (napisa): | Eto, jel točno???? |
Ma da, tocno je.. da ponovimo, od rijeci aaabbbccc...zzz mozemo napraviti jos rijeci maksimalne duljine permutiranjem slova i zamjenom dva susjedna (razlicita) slova. To pokazuje da rijeci maksimalne duljine ima barem n!*2^(n-1). Trebalo bi dokazati da se tako dobivaju sve rijeci maksimalne duljine, ali to vec spada u kategoriju heptanona pa cemo pustiti.
Cast i slavu dodjeljujem C'Tebi, a on neka udijeli Tonciju koliko misli da ga ide. |
A meni za onu "Perlusinu"? (ja sam skroman... dosta je i porcija cevapa )
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 15:51 čet, 14. 11. 2002 Naslov: |
|
|
Evo sve dam Tončiju, ako ja dobijem 10kg limuna (može i mandarina, nisam izbirljiv)
Evo sve dam Tončiju, ako ja dobijem 10kg limuna (može i mandarina, nisam izbirljiv)
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
krcko Forumaš nagrađen za životno djelo
Pridružen/a: 07. 10. 2002. (15:57:59) Postovi: (18B3)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Tonci Forumaš(ica)
Pridružen/a: 31. 10. 2002. (13:46:40) Postovi: (61)16
Spol:
Lokacija: Split
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 19:27 sri, 20. 11. 2002 Naslov: |
|
|
A dobro ja imam [i]slavu[/i] dakle žene :oops:
Valjda bu neka imala mandarine :)
A dobro ja imam slavu dakle žene
Valjda bu neka imala mandarine
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
|