蓝桥杯第五届省赛JAVA真题----七对数字
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯第五届省赛JAVA真题----七对数字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今有7對(duì)數(shù)字:兩個(gè)1,兩個(gè)2,兩個(gè)3,…兩個(gè)7,把它們排成一行。
要求,兩個(gè)1間有1個(gè)其它數(shù)字,兩個(gè)2間有2個(gè)其它數(shù)字,以此類推,兩個(gè)7之間有7個(gè)其它數(shù)字。如下就是一個(gè)符合要求的排列:
17126425374635
當(dāng)然,如果把它倒過來,也是符合要求的。
請(qǐng)你找出另一種符合要求的排列法,并且這個(gè)排列法是以74開頭的。
注意:只填寫這個(gè)14位的整數(shù),不能填寫任何多余的內(nèi)容,比如說明注釋等。
解析:簡(jiǎn)單的回溯求解就可以,答案為74151643752362
public class Main {static int[] a = {0, 7, 4, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0};public static void main(String[] args) {f(1);for (int i = 1; i <= 14; i++) {System.out.print(a[i]);}}private static boolean f(int m) {// TODO Auto-generated method stubif (m == 4) {m++;}if (m > 6) {return true;}for (int i = 3; i <= 14; i++) {if (i == 7 || i == 9) {continue;}if (i+m+1 <= 14 && a[i] == 0 && a[i+m+1] == 0) {a[i] = a[i+m+1] = m;if (f(m+1) != false) {return true;}a[i] = a[i+m+1] = 0;}}return false;} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的蓝桥杯第五届省赛JAVA真题----七对数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式与重构汇总
- 下一篇: CSS图片布局 flex(竖着的几张图片