52-2018 蓝桥杯省赛 B 组模拟赛(一)java

最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增。比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 3131331313,就是不是U型数字。

现在蒜头君问你,[1,100000][1,100000] 有多少U型数字?

提示:请不要输出多余的符号。

import java.util.Scanner;

public class Main1{
	public static String mp[] = new String[11];
	public static int[][] visit = new int[11][11];
	public static int n, m, ans;
	public static int dx[] = {0, 0, 1, -1};
	public static int dy[] = {1, -1, 0, 0};
	
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		
		ans = 0;
		//[1,100000] 有多少U型数字?
		for(int i = 100; i <= 100000 ; i++) {
			int a[] = new int[10];
			int t = i;
			int ct = 0;
			while(t!=0) {
				a[ct++] = t % 10;
				t /= 10;
			}
			int jiang = 0;
			int zeng = 0;
			int f = 0;
			int f1 = 0;
			int f2 = 0;
			for(int j = 1; j < ct; j++) {
				if(a[j] < a[j - 1] && f1 == 0) {
					jiang = 1;
					f2 = 1;
				}
				else if(a[j] > a[j - 1] && f2 == 1) {
					zeng = 1;
					f1 = 1;
				}
				else {
					f = -1;
					break;
				}
			}
			if(f != -1 && f1 == 1 && f2 == 1) {
				ans++;
			}
		}
		
		System.out.println(ans);
	}
}

  

猜你喜欢

转载自www.cnblogs.com/zhumengdexiaobai/p/10575826.html