有没有用Java写的大佬啊,求助,一直写不对
查看原帖
有没有用Java写的大佬啊,求助,一直写不对
956335
yeness楼主2023/3/11 22:42
import java.util.Scanner;
public class Main{
    public static int[][] f0(int[][] a,int[][] b,int x,int y,int r){
        int d=y-r;
        for(int i=x-r;i<=x+r;i++){
            for(int j=y-r;j<=y+r;j++){
                b[i][j]=a[d][i];
            }
            d--;
        }
        return b;
    }
    public static int[][] f1(int[][] a,int[][] b,int x,int y,int r){
        int d=x+r;
        for(int i=x-r;i<=x+r;i++){
            for(int j=y-r;j<=y+r;j++){
                b[i][j]=a[j][d];
            }
            d--;
        }
        return b;
    }
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int m=sc.nextInt();
        int[][] a=new int[500][500];
        int k=1;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                a[i][j]=k;
                k++;
            }
        }
        while(m!=0){
            int x=sc.nextInt();
            int y=sc.nextInt();
            int r=sc.nextInt();
            int z=sc.nextInt();
            int[][] b=a.clone();
            if(z==0){
                a=f0(a,b,x,y,r);
                m--;
            }
            else{
                a=f1(a,b,x,y,r);
                m--;
            }
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
    }
}
2023/3/11 22:42
加载中...