首页 > 滴滴安卓卷,人生中第一次编程题AK,纪念一下
头像
Brando_Q
发布于 2020-08-21 20:33
+ 关注

滴滴安卓卷,人生中第一次编程题AK,纪念一下

import java.util.*;
public class e1 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		ArrayList<Long> list = new ArrayList<>();
		int num = n*n;
		int count = 3;
		list.add((long) 1);
		list.add((long) 1);
		long a = 1;
		long b = 1;
		while(count <= num) {
			long sum = a+b;
			list.add(sum);
			a = b;
			b = sum;
			count++;
		}
		long[][] res = new long[n][n];
		int point = list.size()-1;
		int up = 0;
		int down = n-1;
		int left = 0;
		int right = n-1;
		while(up<=down && left <= right) {
			
			for(int i = left; i <= right; i++) {
				res[up][i] = list.get(point);
				point--;
			}
			up++;
			
			for(int i = up; i <= down; i++) {
				res[i][right] = list.get(point);
				point--;
			}
			right--;
			
			for(int i = right; i >= left; i--) {
				res[down][i] = list.get(point);
				point--;
			}
			down--;
			
			for(int i = down; i >= up; i--) {
				res[i][left] = list.get(point);
				point--;
			}
			left++;
		}
		
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < n; j++) {
				System.out.print(res[i][j]+" ");
			}
			System.out.println();
		}
	}
}

import java.util.*;
public class e2 {
	static int res = 0;
	static String china = "CHINA";
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String nn = in.nextLine();		
		int N = Integer.parseInt(nn);
		char[][] arr = new char[N][N];

		for(int i = 0; i < N; i++) {
			String str = in.nextLine().trim();
			for(int j = 0; j < N; j++) {
				arr[i][j] = str.charAt(j);
			}
		}	
		for(int i = 0; i < N; i++) {
			for(int j = 0; j < N; j++) {
				if(arr[i][j] == 'C') {
					bfs(arr,i,j,0);
				}
			}
		}	
		System.out.println(res);
	}
	private static void bfs(char[][] arr, int i, int j, int point) {
		if(i < 0 || i >= arr.length || j < 0 || j >= arr[i].length||arr[i][j] != china.charAt(point)) {
			return;
		}
		point++;
		if(point == 5) {
			res++;
			return;
		}
		bfs(arr,i-1,j,point);
		bfs(arr,i+1,j,point);
		bfs(arr,i,j+1,point);
		bfs(arr,i,j-1,point);		
	}
}

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐