【Java】蓝桥杯 —— 算法提高(二)


蓝桥杯1195 算法提高 扫雷(模拟)

原题链接:算法提高 扫雷

  • 思路: 水题,对于空白的点直接计算周围的地雷数,并存入数组。

Code:

import java.util.Arrays;
import java.util.Scanner;
public class Main {
	static char[][] ch = new char[105][105];
	static int[][] a = new int[105][105];
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin = new Scanner(System.in);
		int t=1;
		while(cin.hasNext()) {
			int n = cin.nextInt();
			int m = cin.nextInt();
			if(n==0 || m==0)	break;
			for(int i=1;i<=n;i++)
				for(int j=1;j<=m;j++)
					a[i][j]=0;
			for(int i=1;i<=n;i++) {
				String str=cin.next();
				for(int j=1;j<=m;j++)
					ch[i][j] = str.charAt(j-1);
			}
			for(int i=1;i<=n;i++) {
				for(int j=1;j<=m;j++) {
					if(ch[i][j]=='.') {
						if(ch[i-1][j-1]=='*' && i-1>=1 && j-1>=1)	a[i][j]++;
						if(ch[i-1][j]=='*' && i-1>=1)		a[i][j]++;
						if(ch[i-1][j+1]=='*' && i-1>=1 && j+1<=m)	a[i][j]++;
						if(ch[i][j-1]=='*' && j-1>=1)		a[i][j]++;
						if(ch[i][j+1]=='*' && j+1<=m)		a[i][j]++;
						if(ch[i+1][j-1]=='*' && i+1<=n && j-1>=1)	a[i][j]++;
						if(ch[i+1][j]=='*' && i+1<=n)		a[i][j]++;
						if(ch[i+1][j+1]=='*' && i+1<=n && j+1<=m)	a[i][j]++;
					}
				}
			}
			System.out.println("Field #" + t + ":");
			for(int i=1;i<=n;i++) {
				for(int j=1;j<=m;j++) {
					if(ch[i][j]=='.')	
						System.out.print(a[i][j]);
					else
						System.out.print(ch[i][j]);
				}
				System.out.println();
			}
			System.out.println();
			t++;
		}
	}
}


蓝桥杯1157 算法提高 栅格打印问题(模拟)

原题链接:算法提高 栅格打印问题

  • 思路: 题不难,就是有个坑,如果行或者列为 0 ,就直接结束。蓝桥杯太坑了,没有评测也就算了,还不给数据范围。

Code:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt(), m = cin.nextInt();
      	if(n==0 || m==0)	return;
		for(int i=1;i<=2*n+1;i++) {
			for(int j=1;j<=2*m+1;j++) {
				if(i%2==1) {
					if(j%2==1)	System.out.print("+");
					else	System.out.print("-");
				}
				else {
					if(j%2==1)	System.out.print("|");
					else	System.out.print(" ");
				}
			}
			System.out.println();
		}
	}
}


发布了123 篇原创文章 · 获赞 57 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44668898/article/details/104272265