zoukankan      html  css  js  c++  java
  • 算法

    1. 雷电

    tic;
    1x=100;
    1y=100;
     a=(cos(pi/lx)+cos(pi/ly))/2; 
    w=2/(1+sqrt(1-a*a)); 
    v1=zeros(ly,1x); 
    v=V1; 
    r=3; 
    trace=V; 
    fori=1:ly
        forj=1:1x
            v1(ij)=(i-1)*100/(1y-1); 
            end
    end 
    o=sqrt(2);
     v(1,:)=1;
    v(ly,:)=1;
    V(:,1)=1;
    v(:,1x)=1; 
    k=0; 
    i=2;
    j=fix(lx/2); 
    while(v(ij)~=1)
        v(i,j)=2;
        trace(ij)=1;
        v1(i,j)=0; 
        V2=V1;
        maxt=1; 
        while(maxt>1e-5)
            k=k+1; 
                maxt=0; 
                    for m=2:ly-1
                    for n=2:1x-1; 
                        if v(m,n)==0
                            v2(m,n)=v2(m,n)+w*(v1(m,n+1)+v1(m+1,n)+v2(m-1,n)+v2(m,n-1)-4*v2(m,n))/4; 
                            t=abs(v2(m,n)-v1(m,n)); 
                            if(t>maxt)maxt=t; 
                            end
                        end
                    end 
            V1=v2; 
        end 
    p=0;
    
    for i=2:1y-1
        for j=2:1x-1
            if(v(ij)==2)
                if(v(i-1j)==2)p1=0; else p1=v1(i-1j)"r; end; 
                if(v(i+1j)==2)p2=0; else p2=v1(i+1j)~r; end; 
                if(v(ij-1)==2)p3=0; else p3=v1(ij-1)~r; end; 
                if(v(ij+1)==2)p4=0; else p4=v1(ij+1)~r; end; 
                if(v(i-1j-1)==2)p5=0; else p5=(v1(i-1j-1)/o)~r; end; 
                if(v(i-1j+1)==2)p6=0; else p6=(V1(i-1.j+1)/o)^r; end; 
                if(v(i+1j-1)==2)p7=0; else p7=(v1(i+1.j-1)/o)"r; end; 
                if(v(i+1j+1)==2)p8=0; else p8=(v1(i+1j+1)/o)~r; end; 
                p=p1+p2+p3+p4+p5+p6+p7+p8+p; 
        end 
        end; 
    end; 
        g=rand(1,1); 
    s=0; 
    for i=2:1y-1
        for j=2:1x-1
            if(v(ij)==2)
                if(v(i-1j)==2)  p1=0; else p1=(vl(i-1j)"r/p); end; 
                if(v(i+1j)==2)p2=0; else p2=(v1(i+1j)~r/p); end;
                if(v(ij-1)==2)p3=0; else p3=(v1(ij-1)~r/p); end; 
                if(v(ij+1)==2)p4=0; else p4=(v1(ij+1)~r/p); end; 
                if(v(i-1j-1)==2)p5=0; else p5=((V1(i-1.j-1)/o)~r)/p; end; 
                if(v(i-1j+1)==2)p6=0; else p6=((v1(i-1j+1)/o)~r)/p; end; 
                if(v(i+1j-1)==2)p7=0; else p7=((v1(i+1.j-1)/o)~r)/p; end; 
                if(v(i+1j+1)==2)p8=0; else p8=((V1(i+1j+1)/o)~r)/p; end; 
                s=S+p1+p2+p3+p4+p5+p6+p7+p8; 
                if(q>=s-p1-p2-p3-p4-p5-p6-p7-p8)&&(q<S-p2-p3-p4-p5-p6-p7-p8)
                    m=i-1;n=j; 
                    end; 
                if(q>=S-p2-p3-p4-p5-p6-p7-p8)&&(q<S-p3-p4-p5-p6-p7-p8)
                    m=i+1;n=j;
                end; 
                    if(q>=-p3-p4-p5-p6-p7-p8)&&(q<s-p4-p5-p6-p7-p8)
                        m=i;n=j-1; end; 
                    if(q>=s-p4-p5-p6-p7-p8)&&(q<=S-p5-p6-p7-p8)
                        m=i;n=j+1; end; 
                    if(q>=s-p5-p6-p7-p8)&&(q<=s-p6-p7-p8)
                        m=i-1;n=j-1; end; 
                    if(q>=s-p6-p7-p8)&&(q<=s-p7-p8)
                        m=i-1;n=j+1; end; 
                    if(q>=S-p7-p8)&&(q<=S-p8)
                        m=i+1;n=j-1; end; 
                    if(q>=S-p8)&&(q<=s)
                        m=i+1;n=j+1; end; 
                        end
                    end
                end i=m j=n; 
    end 
    k
    toc; 
    time=toc; 
    im=pcolor(trace)
    colormap(cool);
    set(im,'LineStyle','none');
    View Code
  • 相关阅读:
    101. Symmetric Tree(js)
    100. Same Tree(js)
    99. Recover Binary Search Tree(js)
    98. Validate Binary Search Tree(js)
    97. Interleaving String(js)
    96. Unique Binary Search Trees(js)
    95. Unique Binary Search Trees II(js)
    94. Binary Tree Inorder Traversal(js)
    93. Restore IP Addresses(js)
    92. Reverse Linked List II(js)
  • 原文地址:https://www.cnblogs.com/chengxiaofeng/p/10712674.html
Copyright © 2011-2022 走看看