日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯java第五届决赛第三题--格子放鸡蛋

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯java第五届决赛第三题--格子放鸡蛋 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
標題:格子放雞蛋X星球的母雞很聰明。它們把蛋直接下在一個 N * N 的格子中,每個格子只能容納一枚雞蛋。它們有個習慣,要求:每行,每列,以及每個斜線上都不能有超過2個雞蛋。如果要滿足這些要求,母雞最多能下多少蛋呢,有多少種擺放方法呢?下面的程序解決了這個問題,請仔細分析程序邏輯,推斷劃線處缺少的代碼。public class A{static int max = 0;static int T = 0;static final int N = 6;// 只能在(r,c) 以及其右,其下放置 static void f(int[][] da, int r, int c){ if(r>=N){int n = count(da);if(n>max) {max = n;T = 0;}if(n==max) T++;return;}//計算一下步放哪int r_next = r;int c_next = c + 1;if(c_next>=N){c_next = 0;r_next++;}if(____________________){ // 填空位置da[r][c] = 1;f(da, r_next, c_next); }da[r][c] = 0;f(da, r_next, c_next);}static int count(int[][] da){int n = 0;for(int i=0; i<da.length; i++)for(int j=0; j<da[i].length; j++) if(da[i][j]==1) n++;return n;}static int spy(int[][] da, int r, int c){int m=0;// 該行int n=0;for(int i=0; i<N; i++) if(da[r][i]==1) n++;if(n>m) m = n;//該列n=0;for(int i=0; i<N; i++) if(da[i][c]==1) n++;if(n>m) m = n;//右斜線n=0;for(int i=0; i<N; i++){ if(r-i<0 || c-i<0) break; if(da[r-i][c-i]==1) n++;}for(int i=1; i<N; i++){ if(r+i>=N || c+i>=N) break; if(da[r+i][c+i]==1) n++;}if(n>m) m = n;//左斜線n=0;for(int i=0; i<N; i++){ if(r-i<0 || c+i>=N) break; if(da[r-i][c+i]==1) n++;}for(int i=1; i<N; i++){ if(r+i>=N || c-i<0) break; if(da[r+i][c-i]==1) n++;}if(n > m) m = n;return m;}public static void main(String[] args){int[][] da = new int[N][N];f(da, 0, 0);System.out.println(max);System.out.println(T);}}注意:通過瀏覽器提交答案。只填寫缺少的內容,不要填寫任何多余的內容(例如:說明性文字或已有符號)。

思路:其實這題比較簡單,因為在題目中已經明確的告訴了你每行,每列,以及每個斜線上都不能有超過2個雞蛋,所以只要仔細點就知道只需要調用spy函數就解決了。

答案:spy(da,r,c) < 2

總結

以上是生活随笔為你收集整理的蓝桥杯java第五届决赛第三题--格子放鸡蛋的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。