public class Didi {
//第二题
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int count=scanner.nextInt();
if(count<0){
return;
}
if(count==1){
System.out.println(1);
return;
}
int sum=count*count;
long[][] res=new long[count][count];
long[] dp=new long[sum];
dp[0]=1;
dp[1]=1;
for(int i=2;i<sum;i++){
dp[i]=dp[i-1]+dp[i-2];
}
Arrays.sort(dp);
int end=sum-1;
int index=0;
while(index*2<count){
int endRow=count-index-1;
int endCol=count-index-1;
for(int i=index;i<=endCol;i++){
res[index][i]=dp[end--];
}
for(int i=index+1;i<=endRow;i++){
res[i][endCol]=dp[end--];
}
if(endRow>index){
for(int i=endCol-1;i>=index;i--){
res[endRow][i]=dp[end--];
}
}
if(endCol>index){
for(int i=endRow-1;i>index;i--){
res[i][index]=dp[end--];
}
}
index++;
}
for(int i=0;i<count;i++){
for(int j=0;j<count-1;j++){
System.out.print(res[i][j]+" ");
}
System.out.println(res[i][count-1]);
}
scanner.close();
}
//第一题
/*public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int s=scanner.nextInt();
List<int[]> list1=new ArrayList<>();
for(int i=1;i<=9;i++){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
if(i!=j&&i!=k&&k!=j){
int sum=i*100+j*10+k;
//list1.add(sum);
int sum1=i*100+k*10+k;
//list2.add(sum1);
list1.add(new int[] {sum,sum1});
}
}
}
}
List<int[]> res=new ArrayList<>();
for(int[] sum1:list1){
if(sum1[0]+sum1[1]==s) {
res.add(sum1);
}
}
if(res.size()==0){
System.out.println(0);
return;
}
int[][] ress=new int[res.size()][2];
for(int i=0;i<res.size();i++){
ress[i]=res.get(i);
}
Arrays.sort(ress,(a,b)->{
return a[0]-b[0];
});
System.out.println(ress.length);
for(int i=0;i<ress.length;i++){
System.out.println(ress[i][0]+" "+ress[i][1]);
}
scanner.close();
}*/
}
全部评论
(1) 回帖