天天看點

藍橋杯題目8蘭頓螞蟻 蘭頓螞蟻,是于1986年,由克裡斯·蘭頓提出來的,屬于細胞自動機的一種。

package s3;

import java.util.Scanner;

public class test8 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Scanner scan=new Scanner(System.in);

        int a=scan.nextInt();

        int b=scan.nextInt();

        int[][] c=new int[a][b];

        for(int i=0;i<a;i++){

            for(int j=0;j<b;j++){                

                c[i][j]=scan.nextInt();

            }

        }

        int x=scan.nextInt();

        int y=scan.nextInt();

        String s1=scan.next();//方向

        int k=scan.nextInt();//步數

        char s=s1.charAt(0);

        int sum=0;

        while(true){

            if(sum==k){

                break;

            }

            if(s=='U'){

                if(c[x][y]==1){

                    s='R';

                    c[x][y]=0;

                    x=x;

                    y=y+1;

                    sum++;

                //    System.out.println(x+","+y);                    

                }else{

                    s='L';

                    c[x][y]=1;

                    x=x;

                    y=y-1;

                    sum++;

                //    System.out.println(x+","+y);

                }

            }

            if(s=='D'){

                if(c[x][y]==1){

                    s='L';

                    c[x][y]=0;

                    x=x;

                    y=y-1;

                    sum++;

                    //System.out.println(x+","+y);

                }else{

                    s='R';

                    c[x][y]=1;

                    x=x;

                    y=y+1;

                    sum++;

                    //System.out.println(x+","+y);

                }

            }

            if(s=='L'){

                if(c[x][y]==1){

                    s='U';

                    c[x][y]=0;

                    x=x-1;

                    y=y;

                    sum++;

                    //System.out.println(x+","+y);

                }else{

                    s='D';

                    c[x][y]=1;

                    x=x+1;

                    y=y;

                    sum++;

                    //System.out.println(x+","+y);

                }

            }

            if(s=='R'){

                if(c[x][y]==1){

                    s='D';

                    c[x][y]=0;

                    x=x+1;

                    y=y;

                    sum++;

                    //System.out.println(x+","+y);

                }else{

                    s='U';

                    c[x][y]=1;

                    x=x-1;

                    y=y;

                    sum++;

                    //System.out.println(x+","+y);

                }

            }        

        }

        System.out.println(x+","+y);

    }

}

繼續閱讀