最近蒜头君喜欢上了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); } }