Jump to content
php.lv forumi

marrtins

Reģistrētie lietotāji
  • Posts

    1,570
  • Joined

  • Last visited

Everything posted by marrtins

  1. Īsti nesapratu, kāpēc lai 2x1 nevarētu ietilpt tajā vietā (row=7,col=0)? Tev orientācija meklējamam laukumam ir svarīga? Tas laukums sanāk šāds: 11111111 11111111 11111111 11111111 11111111 11111111 11111111 01111110 01111111 11111111 11111111 11111111 11111111 11111111 11111110
  2. Nu tas atkarībā, no kuras puses sāk meklēt :) Var jau samaklēt arī visus iespējamos variantus ;) 2x2 der "daaaaaaaaadz" variantos šajā piemērā.
  3. Aug slodze, jāņem kas jaudīgāks. Loģiski, ka nevar paņemt draugiem.lv un uzlikt uz šārētā hostinga :) Otrs variants - optimizēt esošo aplikāciju, bet tas būs tikai daļēji - datubāzei un pašam PHP klāt netiksi, RAMu nepalielināsi, OS nesatūnēsi utt.
  4. Mans variants: <?php error_reporting(E_ALL); define('BOARD_MAXW', 8); define('BOARD_MAXH', 16); $tofind = "16x1"; $board = array(); list($W, $H) = split('x', $tofind); $data = file('in.txt'); foreach($data as $line){ $board[] = ~bindec(trim($line)); # invertē, lai 1 apzīmētu tukšumus } function board_search($board, $W, $H) { if(($W > BOARD_MAXW) || ($H > BOARD_MAXH)){ return false; } foreach($board as $ri=>$row){ $mask = pow(2, $W) - 1; for($x = 0; $x < BOARD_MAXW - $W + 1; $x++){ $rowmatch = 0; # Ja konkrētajā vietā rindā ir brīva vieta, pētam nākamajās rindās if(($row & $mask) == $mask){ $rowmatch++; for($ri2 = $ri + 1; $ri2 < BOARD_MAXH; $ri2++){ $row2 = $board[$ri2]; if(($row2 & $mask) == $mask) { $rowmatch++; } else { break; } } if($rowmatch == $H){ return array($ri, BOARD_MAXW - $W - $x); } } $mask <<= 1; # "pabīdam" pa kreisi } } return false; } if(($ret = board_search($board, $W, $H)) !== false){ print "FOUND at row=".$ret[0].", col=".$ret[1]."\n"; } elseif(($ret = board_search($board, $H, $W)) !== false){ # "parotējam" meklējamo laukumu print "FOUND at row=".$ret[0].", col=".$ret[1]."\n"; } else { print "NOT FOUND"; } Nav baisi testēts, kā arī laukuma dimensijām jābūt mazākiem par CPU vai PHP integer bitiem (vairs neatminos, kā tur PHP mainījās max integers atkarībā no 32 bai 64 bit OS/CPU), bet uz šāda maza laukumiņa jau pietiks :D Ā, piemirsu in.txt 11001000 11001000 00001000 00001000 00000000 01111000 01111000 01111000 01111000 01111000 00000000 00000000 00100110 00000110 00000000 00000000
  5. Tas ir kāds uzdevums treniņiem/sacensībām? Kur ir pilns tā teksts? Vai tad kvadrāts var būt 1:2?
  6. Mmmm, daudziem varētu nepatikt :) 20 controversial programming opinions
  7. Tam jau viens burts tak trūkst. cut.lv :D
  8. Jaunam cilvēkam var būt arī kas biedējošs?
  9. Kāds, acīmredzot, neuztvēra humoru :)
  10. Nepatīk man šādi pārmudrītie freimworki, aļa Zend Tas Our motivation arī izstiepts, piemēram, 1) Kurš pie pilna prāta lieto PHP bez APC vai tamldz? 2) Tam ir domāts diska cache (jebkurā normālā OS tas ir). Ja fails nemainās, tad faktiski nākamo reiz tas tiek lasīts no RAM.
  11. Cik var cept identiskus topikus? Šis jau ir izrunāts nemaz tik ne sen.
  12. Novienojās par abiem pārredzamu sistēmu (pašas pamata fīčas) un tad jau pie cipara ir vieglāk nonākt. Pēc tam jau par papildinājumiem vienojas atsevišķi.
  13. Tas ir apbrīnojami. Kāpēc Tu ņemies trīs dienas ap prastu layout? Tabulās to var sataisīt 10min.
  14. Tabulas tabulāriem datiem, savukārt DIVi jebūcijai ar pozicionēšanu!! :D :D
  15. marrtins

    Paradox DB

    Manuāli čekoji? http://php.net/manual/en/book.paradox.php
  16. Jāpielauž useri lietot vecos IE :D
  17. Ja domēni atsķiras, un browserī nav speciāli nodefinēts, ka drīkt gramstīties, tad nevar.
  18. Ko tu mocies, taisi tabulās :)
  19. Vēsi. Es tev iedošu executabli, ko palaidīsi ar admin tiesībām un viss.
  20. Ā, Exe taču :D Skaties: 1) kādas tiesības tiem failiem saliktas 2) vai nav kāds archived, read only attribute Ja Tev ir arī InnoDB tipa tabulas, paskaties, vai ibdata1 fails nav nojāts/vai vispār eksistē.
  21. lai kods būtu lasāmāk un nebūtu tik daudz jākomentē, varētu darīt šādi: function sendMessageUser($user_id,$message){ blabla } function sendMessageUserMulti(Array $user_ids,$message){ loop sendMessageUser($user_id, $message); /loop } Un, ja valoda to atļauj, overloadojam function sendMessage($users,$message){ if(is_array($users)){ loop sendMessageUser($user_id, $message); /loop } elseif(super_struktūra) { superojam sendMessageUser } else { sendMessageUser($user, $message); } } OOP variantā f-iju nosaukumos attiecīgi atmetam vai nu send vai message vai user un variējam parametrus.
×
×
  • Create New...