Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

courses:a4b35ko:ukol1 [2010/02/16 23:33]
r.polasek created
courses:a4b35ko:ukol1 [2025/01/03 18:28] (aktuální)
Řádek 1: Řádek 1:
 ====== 1. úkol ====== ====== 1. úkol ======
 +Sudoku
  
 +==== Řešení pro obecné p ====
 +<​code>​
 +p = 2;
 +p2 = p^2;
 +p4 = p^4;
 +p3 = p^3;
 +B = zeros(p4,​p4);​
 +
 +
 +for i=1:p4
 +   radek = ceil(i/p2);
 +   ​sloupec = mod(i,​p2);  ​
 +   ​if(sloupec==0)
 +       ​sloupec = p2;
 +   end
 +   
 +%radek ​  
 +   ​pocitadlo = 0;
 +   ​maxIndex = p2*radek;
 +   for u=1:p2
 +      B(i,​maxIndex-pocitadlo) = 1;
 +      pocitadlo= pocitadlo+1;​
 +   end
 +   
 +   ​%sloupec
 +   ​pocitadlo = 0;
 +   for v=1:p2
 +      B(i,​sloupec+pocitadlo*p2) = 1;
 +      pocitadlo= pocitadlo+1;​
 +   end
 +      ​
 +   
 +   ​cisloBunky = (floor((radek-1)/​p))*p + floor((sloupec-1)/​p)+1;​
 +   ​radekBunky = ceil(cisloBunky/​p);​
 +   ​poradiBunkyNaRadku = cisloBunky - (p*(radekBunky-1));​
 +   ​pocetBunekNaStejnemRadku = poradiBunkyNaRadku-1;​
 +   ​pocetBunekNaPredchozRadkach = cisloBunky - pocetBunekNaStejnemRadku -1;
 +
 +   ​sourPrvniBodBunky = pocetBunekNaPredchozRadkach*p2 + pocetBunekNaStejnemRadku*p + 1;
 +   
 +   for j=1:p
 +       for g=1:p
 +           pos = sourPrvniBodBunky+((j-1)*p2) + (g-1);
 +    B(i,pos) = 1;
 +       end
 +   end
 +   ​B(i,​i) = 0;
 +   
 +end
 +
 +g = graph('​adj',​ B);
 +g = graphcoloring(g);​
 +prumer = 20;
 +x = 100;
 +y = p2*prumer+(p2*10);​
 +krok = 1;
 +
 +for k=1:p4
 +    g.N(k).Name = '';​
 +    g.N(k).graphicParam(1).width = prumer;
 +    g.N(k).graphicParam(1).height = prumer;
 +    g.N(k).graphicParam(1).x = x+(prumer+3)*(krok-1);​
 +    g.N(k).graphicParam(1).y = y;
 +    krok=krok+1;​
 +    if(mod(k,​p2)== 0)
 +        y = y-(prumer*1.25);​
 +        krok=1;
 +    end
 +end
 +
 +g.adj = zeros(p4,​p4);​
 +graphedit(g)
 +graphedit('​viewedgesnames',​ '​off','​viewnodesnames',​ '​off','​arrowsvisibility',​ '​off'​)
 +
 +
 +
 +% for i=1:p4
 +%     %vem 1 radek a vypis po 
 +%     ​line=0;​
 +%     A = zeros(p2,​p2);​
 +%     for j=1:p2
 +% A(j,:​)= ​   B(i,​line+1:​line+p2);​
 +%     line = line+p2;
 +%     end
 +%     i
 +%     A
 +% end
 +
 +</​code>​
  
  
courses/a4b35ko/ukol1.1266359599.txt.gz · Poslední úprava: 2025/01/03 18:24 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0