国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

這篇具有很好參考價(jià)值的文章主要介紹了2023第十四屆藍(lán)橋杯Java B組個(gè)人題解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??藍(lán)橋杯系列文章

歡迎大家閱讀藍(lán)橋杯文章專(zhuān)欄????
2023第十四屆藍(lán)橋杯Java B組個(gè)人題解
??2023第十四屆藍(lán)橋杯模擬賽第二期個(gè)人題解(Java實(shí)現(xiàn)
??2023第十四屆藍(lán)橋杯模擬賽第三期個(gè)人題解(Java實(shí)現(xiàn)
??藍(lán)橋杯備賽之動(dòng)態(tài)規(guī)劃篇——背包問(wèn)題
??藍(lán)橋杯備賽之動(dòng)態(tài)規(guī)劃篇——涂色問(wèn)題(區(qū)間DP)
??藍(lán)橋杯真題——單詞分析(Java實(shí)現(xiàn))

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??前言

????哈嘍,大家好!今年的藍(lán)橋杯終于落下帷幕啦!今天真的被整得懷疑人生了????????今年主打的就是陪伴??賽后我重新做了這些題,寫(xiě)下這篇題解,跟大家交流交流!??
2023第十四屆藍(lán)橋杯Java B組個(gè)人題解
????如果我寫(xiě)的內(nèi)容有誤,歡迎大家在評(píng)論區(qū)指正??希望這篇文章對(duì)你有幫助??同時(shí)歡迎關(guān)注我呦????
2023第十四屆藍(lán)橋杯Java B組個(gè)人題解
霧霾愈讓人窒息,我愈拼命爭(zhēng)取一口清新;
黑暗愈遮蓋大地,我們的心看得就愈清晰!

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??Part I 填空題

??試題 A: 階乘求和

問(wèn)題描述
  令 S = 1! + 2! + 3! + … + 202320232023!,求 S 的末尾 9 位數(shù)字。
  提示:答案首位不為 0。
答案提交
  這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

??問(wèn)題分析

????這道題肯定不能按題目的要求算到 202320232023!,肯定有規(guī)律可循,所以不妨先算前50項(xiàng),取最后9位看看結(jié)果。階乘算出來(lái)的結(jié)果很大,用Long也會(huì)爆,可以用BigIneger,需要注意的是BigInteger的加減乘除需要調(diào)API實(shí)現(xiàn)。

??Java代碼

import java.math.BigInteger;

public class 試題A_階乘求和 {

	public static void main(String[] args) {
		BigInteger n=new BigInteger("1");
		BigInteger sum=new BigInteger("0");
		for(int i=1;i<50;i++) {
			n=n.multiply(new BigInteger(""+i));
			sum=sum.add(n);
			System.out.println("i="+i+"時(shí),sum后九位是:"+sum.mod(new BigInteger(""+1000000000)));
		}
	}
}

??結(jié)果

i=1時(shí),sum后九位是:1
i=2時(shí),sum后九位是:3
i=3時(shí),sum后九位是:9
i=4時(shí),sum后九位是:33
i=5時(shí),sum后九位是:153
i=6時(shí),sum后九位是:873
i=7時(shí),sum后九位是:5913
i=8時(shí),sum后九位是:46233
i=9時(shí),sum后九位是:409113
i=10時(shí),sum后九位是:4037913
i=11時(shí),sum后九位是:43954713
i=12時(shí),sum后九位是:522956313
i=13時(shí),sum后九位是:749977113
i=14時(shí),sum后九位是:928268313
i=15時(shí),sum后九位是:602636313
i=16時(shí),sum后九位是:392524313
i=17時(shí),sum后九位是:820620313
i=18時(shí),sum后九位是:526348313
i=19時(shí),sum后九位是:935180313
i=20時(shí),sum后九位是:111820313
i=21時(shí),sum后九位是:821260313
i=22時(shí),sum后九位是:428940313
i=23時(shí),sum后九位是:405580313
i=24時(shí),sum后九位是:844940313
i=25時(shí),sum后九位是:828940313
i=26時(shí),sum后九位是:412940313
i=27時(shí),sum后九位是:180940313
i=28時(shí),sum后九位是:684940313
i=29時(shí),sum后九位是:300940313
i=30時(shí),sum后九位是:780940313
i=31時(shí),sum后九位是:660940313
i=32時(shí),sum后九位是:820940313
i=33時(shí),sum后九位是:100940313
i=34時(shí),sum后九位是:620940313
i=35時(shí),sum后九位是:820940313
i=36時(shí),sum后九位是:20940313
i=37時(shí),sum后九位是:420940313
i=38時(shí),sum后九位是:620940313
i=39時(shí),sum后九位是:420940313
i=40時(shí),sum后九位是:420940313
i=41時(shí),sum后九位是:420940313
i=42時(shí),sum后九位是:420940313
i=43時(shí),sum后九位是:420940313
i=44時(shí),sum后九位是:420940313
i=45時(shí),sum后九位是:420940313
i=46時(shí),sum后九位是:420940313
i=47時(shí),sum后九位是:420940313
i=48時(shí),sum后九位是:420940313
i=49時(shí),sum后九位是:420940313
i=50時(shí),sum后九位是:420940313

????結(jié)果可以發(fā)現(xiàn),從第39項(xiàng)開(kāi)始,最后9位數(shù)字就沒(méi)有變化了,所以答案就是420940313

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??試題 B: 幸運(yùn)數(shù)字

問(wèn)題描述
  哈沙德數(shù)是指在某個(gè)固定的進(jìn)位制當(dāng)中,可以被各位數(shù)字之和整除的正整數(shù)。例如 126 是十進(jìn)制下的一個(gè)哈沙德數(shù),因?yàn)?(126)10 mod (1+2+6) = 0;126也是八進(jìn)制下的哈沙德數(shù),因?yàn)?(126)10 = (176)8,(126)10 mod (1 + 7 + 6) = 0;同時(shí) 126 也是 16 進(jìn)制下的哈沙德數(shù),因?yàn)?(126)10 = (7e)16,(126)10 mod (7 + e) = 0。小藍(lán)認(rèn)為,如果一個(gè)整數(shù)在二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制下均為哈沙德數(shù),那么這個(gè)數(shù)字就是幸運(yùn)數(shù)字,第 1 至第 10 個(gè)幸運(yùn)數(shù)字的十進(jìn)制表示為:1 , 2 , 4 , 6 , 8 , 40 , 48 , 72 , 120 , 126 . . . ?,F(xiàn)在他想知道第 2023 個(gè)幸運(yùn)數(shù)字是多少?你只需要告訴小藍(lán)這個(gè)整數(shù)的十進(jìn)制表示即可。
答案提交
  這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

?? 問(wèn)題分析

???? 這道題目單純考察進(jìn)制轉(zhuǎn)換,調(diào)用Java現(xiàn)成的API即可:
十進(jìn)制轉(zhuǎn)二進(jìn)制:Integer.toBinaryString(i)
十進(jìn)制轉(zhuǎn)八進(jìn)制:Integer.toOctalString(i)
十進(jìn)制轉(zhuǎn)十六進(jìn)制:Integer.toHexString(i)
????求數(shù)位之和要注意:十六進(jìn)制字符串可能包含a-f,所以需要特殊處理。

??Java代碼

public class 試題B_幸運(yùn)數(shù)字 {
	//求一個(gè)數(shù)字字符串的數(shù)位之和
	public static int getSum(String s) {
		int sum=0;
		for(int i=0;i<s.length();i++) {
			if(s.charAt(i)>='a'&&s.charAt(i)<='f') //如果是a-f
				sum+=s.charAt(i)-'a'+10;
			else //如果是數(shù)字
				sum+=s.charAt(i)-'0';
		}
		return sum;
	}
	public static void main(String[] args) {
		int count=0;
		for(int i=1;i<1000000;i++) {
			String a2=Integer.toBinaryString(i);	//轉(zhuǎn)為二進(jìn)制
			String a8=Integer.toOctalString(i);		//轉(zhuǎn)為八進(jìn)制
			String a16=Integer.toHexString(i);		//轉(zhuǎn)為十六進(jìn)制
			if(i%getSum(a2)==0&&i%getSum(a8)==0&&i%getSum(a16)==0&&i%getSum(""+i)==0) {
				count++;
				if(count==2023) {
					System.out.println("第 2023 個(gè)幸運(yùn)數(shù)字是:"+i);
					break;
				}
			}	
		}
	}
}

?? 結(jié)果

第 2023 個(gè)幸運(yùn)數(shù)字是:215040

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??Part II 編程題

??試題 C: 數(shù)組分割

問(wèn)題描述
  小藍(lán)有一個(gè)長(zhǎng)度為 N 的數(shù)組 A = [A0, A1, . . .,AN?1]。現(xiàn)在小藍(lán)想要從 A 對(duì)應(yīng)的數(shù)組下標(biāo)所構(gòu)成的集合 I = {0, 1, 2, . . . , N ? 1} 中找出一個(gè)子集 R1,那么 R1在 I 中的補(bǔ)集為 R2。記 S1 = ∑ r ∈ R1 Ar,S2 = ∑ r ∈ R2 Ar,我們要求 S1 和 S2 均為偶數(shù),請(qǐng)問(wèn)在這種情況下共有多少種不同的 R1。當(dāng) R1 或 R2 為空集時(shí)我們將S 1 或 S 2 視為 0。
輸入格式
  第一行一個(gè)整數(shù) T,表示有 T 組數(shù)據(jù)。
  接下來(lái)輸入 T 組數(shù)據(jù),每組數(shù)據(jù)包含兩行:第一行一個(gè)整數(shù) N,表示數(shù)組A 的長(zhǎng)度;第二行輸入 N 個(gè)整數(shù)從左至右依次為 A0, A1, . . . , AN?1,相鄰元素之間用空格分隔。
輸出格式
  對(duì)于每組數(shù)據(jù),輸出一行,包含一個(gè)整數(shù)表示答案,答案可能會(huì)很大,你需要將答案對(duì) 1000000007 進(jìn)行取模后輸出。
樣例輸入
  2
  2
  6 6
  2
  1 6
樣例輸出
  4
  0
樣例說(shuō)明
  對(duì)于第一組數(shù)據(jù),答案為 4。(注意:大括號(hào)內(nèi)的數(shù)字表示元素在數(shù)組中的下標(biāo)。)
R1 = {0}, R2 = {1};此時(shí) S 1 = A0 = 6 為偶數(shù), S 2 = A1 = 6 為偶數(shù)。
R1 = {1}, R2 = {0};此時(shí) S 1 = A1 = 6 為偶數(shù), S 2 = A0 = 6 為偶數(shù)。
R1 = {0, 1}, R2 = {};此時(shí) S 1 = A0 + A1 = 12 為偶數(shù), S 2 = 0 為偶數(shù)。
R1 = {}, R2 = {0, 1};此時(shí) S 1 = 0 為偶數(shù), S 2 = A0 + A1 = 12 為偶數(shù)。
  對(duì)于第二組數(shù)據(jù),無(wú)論怎么選擇,都不滿足條件,所以答案為 0。
評(píng)測(cè)用例規(guī)模與約定
對(duì)于 20% 的評(píng)測(cè)用例,1 ≤ N ≤ 10。
對(duì)于 40% 的評(píng)測(cè)用例,1 ≤ N ≤ 102。
對(duì)于 100% 的評(píng)測(cè)用例,1 ≤ T ≤ 10, 1 ≤ N ≤ 103, 0 ≤ Ai ≤ 109。

??問(wèn)題分析

???? 這道題我想到的是暴力解法。對(duì)于所給數(shù)組A(元素可重復(fù)),用回溯法求解出其所有的子集R1,將數(shù)組A的元素和 - 子集R1的元素和,即得到補(bǔ)集R2的元素和,然后判斷是否滿足條件。
???? 注意:將答案對(duì) 1000000007 進(jìn)行取模后輸出

?? Java代碼

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

// 子集類(lèi)
class SubSet{
	List<List<Integer>> res=new LinkedList<List<Integer>>();//存儲(chǔ)所有子集
	LinkedList<Integer> track=new LinkedList<Integer>();	//存儲(chǔ)一個(gè)子集
	boolean[] used;			//記錄是否訪問(wèn)過(guò)
	// 求出所有子集
	List<List<Integer>> subset(int[] nums){
		used=new boolean[nums.length];
		backtrack(nums, 0);
		return res;
	}
	// 回溯法求子集
	void backtrack(int[] nums,int start) {
		res.add(new LinkedList<Integer>(track));
		//回溯框架
		for(int i=start;i<nums.length;i++) {
			//不用剪枝,可以重復(fù)
//			if(i>start&&nums[i]==nums[i-1]&&!used[i-1]))
//				continue;
			//選擇
			used[i]=true;
			track.add(nums[i]);
			//進(jìn)入下一層回溯
			backtrack(nums, i+1);
			//撤銷(xiāo)選擇
			track.removeLast();
			used[i]=false;
		}
		
	}
}
public class 試題C_數(shù)組分割 {
	//返回一個(gè)列表的所有數(shù)字的和
	public static int getSum(List<Integer> nums) {
		int sum=0;
		for(int e:nums)
			sum+=e;
		return sum;
	}
	//統(tǒng)計(jì)滿足條件的R1個(gè)數(shù)
	public static int count(int[] A) {
		SubSet subSet=new SubSet();
		List<List<Integer>> resList=subSet.subset(A);
		int count=0;	//統(tǒng)計(jì)滿足情況的R1個(gè)數(shù)
		for(List<Integer> R1:resList) {
			//將數(shù)組A轉(zhuǎn)為L(zhǎng)ist
			List<Integer> listA=Arrays.stream(A).boxed().collect(Collectors.toList());
			//R1的補(bǔ)集R2的元素和S2
			int S2=(getSum(listA)-getSum(R1))%2;
			if(getSum(R1)%2==0&&S2==0)
				count++;
		}
		return count%1000000007;
	}
	public static void main(String[] args) {
		//輸入
		Scanner sc=new Scanner(System.in);
		int T=sc.nextInt();		//有T組數(shù)據(jù)
		int[] res=new int[T];	//記錄每組數(shù)據(jù)的結(jié)果
		for(int i=0;i<T;i++) {
			int N=sc.nextInt();
			int[] A=new int[N];	//存放每組數(shù)據(jù)
			for(int j=0;j<N;j++) {
				A[j]=sc.nextInt();
			}
			res[i]=count(A);
		}
		for(int i=0;i<T;i++) {
			System.out.println(res[i]);
		}
	}
}

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??試題 D: 矩形總面積

問(wèn)題描述
  平面上有個(gè)兩個(gè)矩形 R1 和 R2,它們各邊都與坐標(biāo)軸平行。設(shè) (x1, y1) 和(x2, y2) 依次是 R1 的左下角和右上角坐標(biāo),(x3, y3) 和 (x4, y4) 依次是 R2 的左下角和右上角坐標(biāo),請(qǐng)你計(jì)算 R1 和 R2 的總面積是多少?
  注意:如果 R1 和 R2 有重疊區(qū)域,重疊區(qū)域的面積只計(jì)算一次。
輸入格式
  輸入只有一行,包含 8 個(gè)整數(shù),依次是:x1,y1,x2,y2,x3,y3,x4 和 y4。
輸出格式
  一個(gè)整數(shù),代表答案。
樣例輸入
  2 1 7 4 5 3 8 6
樣例輸出
  22
評(píng)測(cè)用例規(guī)模與約定
對(duì)于 20% 的數(shù)據(jù),R1 和 R2 沒(méi)有重疊區(qū)域。
對(duì)于 20% 的數(shù)據(jù),其中一個(gè)矩形完全在另一個(gè)矩形內(nèi)部。
對(duì)于 50% 的數(shù)據(jù),所有坐標(biāo)的取值范圍是 [0, 10^3]。
對(duì)于 100% 的數(shù)據(jù),所有坐標(biāo)的取值范圍是 [0, 10^5]。

??問(wèn)題分析

????這道題是純數(shù)學(xué)模擬題。總共分三種情況:

  1. R1和R2完全不重合
    矩形總面積=R1的面積+R2的面積
  2. R1完全在R2內(nèi)部或R2完全在R1內(nèi)部
    矩形總面積=R1的面積或R2的面積
  3. R1和R2有部分重疊
    矩形總面積=R1的面積+R2的面積-重疊部分的面積
    這種情況單純列舉的話,要判斷8種情況(如下圖),很麻煩。。。
    2023第十四屆藍(lán)橋杯Java B組個(gè)人題解
    然后我列舉其中幾種情況,寫(xiě)出表達(dá)式以后,發(fā)現(xiàn)了一個(gè)規(guī)律:
    將x={x1,x2,x3,x4}和y={y1,y2,y3,y4}分別從小到大排序,重疊部分面積=(x[2]-x[1])*(y[2]-y[1]),這樣就不用列舉8種情況啦!感興趣的同學(xué)可以試試驗(yàn)證一下!
    注意:對(duì)于 100% 的數(shù)據(jù),所有坐標(biāo)的取值范圍是 [0, 10^5],所以記得開(kāi)long,不然就爆啦!

?? Java代碼

import java.util.Arrays;
import java.util.Scanner;

public class 試題D_矩形總面積 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		long x1=sc.nextLong();
		long y1=sc.nextLong();
		long x2=sc.nextLong();
		long y2=sc.nextLong();
		long x3=sc.nextLong();
		long y3=sc.nextLong();
		long x4=sc.nextLong();
		long y4=sc.nextLong();
		long res=0L;
		//R1 和 R2 沒(méi)有重疊區(qū)域
		if(x2<=x3||x1>=x4||y2<=y3||y1>=y4) {
			res=(x2-x1)*(y2-y1)+(x4-x3)*(y4-y3);
			System.out.println(res);
		}
		//R2完全在R1內(nèi)部
		else if(x1<=x3&&x4<=x2&&y1<=y3&&y4<=y2) {
			res=(x2-x1)*(y2-y1);
			System.out.println(res);
		}
		//R1完全在R2內(nèi)部
		else if(x3<=x1&&x2<=x4&&y3<=y1&&y2<=y4) {
			res=(x4-x3)*(y4-y3);
			System.out.println(res);
		}
		//R1和R2有部分重疊
		else {
			long[] x= {x1,x2,x3,x4};
			long[] y= {y1,y2,y3,y4};
			Arrays.sort(x);
			Arrays.sort(y);
			//減去重復(fù)部分的面積
			res=(x2-x1)*(y2-y1)+(x4-x3)*(y4-y3)-(x[2]-x[1])*(y[2]-y[1]);
			System.out.println(res);
		}
	}

}

??試題 F: 合并區(qū)域

問(wèn)題描述
  小藍(lán)在玩一款種地游戲?,F(xiàn)在他被分配給了兩塊大小均為 N × N 的正方形區(qū)域。這兩塊區(qū)域都按照 N × N 的規(guī)格進(jìn)行了均等劃分,劃分成了若干塊面積相同的小區(qū)域,其中每塊小區(qū)域要么是巖石,要么就是土壤,在垂直或者水平方向上相鄰的土壤可以組成一塊土地?,F(xiàn)在小藍(lán)想要對(duì)這兩塊區(qū)域沿著邊緣進(jìn)行合并,他想知道合并以后可以得到的最大的一塊土地的面積是多少(土地的面積就是土地中土壤小區(qū)域的塊數(shù))?
  在進(jìn)行合并時(shí),小區(qū)域之間必須對(duì)齊??梢栽趦蓧K方形區(qū)域的任何一條邊上進(jìn)行合并,可以對(duì)兩塊方形區(qū)域進(jìn)行 90 度、180 度、270 度、360 度的旋轉(zhuǎn),但不可以進(jìn)行上下或左右翻轉(zhuǎn),并且兩塊方形區(qū)域不可以發(fā)生重疊。
輸入格式
  第一行一個(gè)整數(shù) N 表示區(qū)域大小。
  接下來(lái) N 行表示第一塊區(qū)域,每行 N 個(gè)值為 0 或 1 的整數(shù),相鄰的整數(shù)之間用空格進(jìn)行分隔。值為 0 表示這塊小區(qū)域是巖石,值為 1 表示這塊小區(qū)域是土壤。
  再接下來(lái) N 行表示第二塊區(qū)域,每行 N 個(gè)值為 0 或 1 的整數(shù),相鄰的整數(shù)之間用空格進(jìn)行分隔。值為 0 表示這塊小區(qū)域是巖石,值為 1 表示這塊小區(qū)域是土壤。
輸出格式
  一個(gè)整數(shù)表示將兩塊區(qū)域合并之后可以產(chǎn)生的最大的土地面積。
樣例輸入
  4
  0 1 1 0
  1 0 1 1
  1 0 1 0
  1 1 1 0
  0 0 1 0
  0 1 1 0
  1 0 0 0
  1 1 1 1
樣例輸出
  15
樣例說(shuō)明
2023第十四屆藍(lán)橋杯Java B組個(gè)人題解
第一張圖展示了樣例中的兩塊區(qū)域的布局。第二張圖展示了其中一種最佳的合并方式,此時(shí)最大的土地面積為 15。
評(píng)測(cè)用例規(guī)模與約定
對(duì)于 30% 的數(shù)據(jù),1 ≤ N ≤ 5。
對(duì)于 60% 的數(shù)據(jù),1 ≤ N ≤ 15。
對(duì)于 100% 的數(shù)據(jù),1 ≤ N ≤ 50。

??問(wèn)題分析

????這道題可以用深度優(yōu)先搜索。(比賽時(shí)默寫(xiě)了深搜模板不會(huì)用????)一開(kāi)始看到題目說(shuō)區(qū)域可以進(jìn)行90 度、180 度、270 度、360 度的旋轉(zhuǎn),被這個(gè)干懵圈了????現(xiàn)在想想其實(shí)不用管這個(gè),合并區(qū)域的最大面積就是找兩個(gè)區(qū)域四周邊緣土地的最大面積之和,所以在每個(gè)區(qū)域中,利用深度優(yōu)先搜索,從上下左右四個(gè)邊緣尋找最大面積的土地(在區(qū)域中央的封閉土地就不用理了)。
????這道題和島嶼問(wèn)題差不多,感興趣的小伙伴可以看看力扣的這幾道題。
??力扣 695. 島嶼的最大面積
??力扣 1254. 統(tǒng)計(jì)封閉島嶼的數(shù)目
??力扣 200. 島嶼數(shù)量

?? Java代碼

import java.util.Scanner;

public class 試題F_合并區(qū)域 {
	// 將(x,y)所在的土地變成巖石,并返回該土地面積
	public static int dfs(int[][] grid,int x,int y) {
		int m=grid.length,n=grid[0].length;
		// 超出區(qū)域邊界
		if(x<0||x>=m||y<0||y>=n) 
			return 0;
		// 如果已經(jīng)是巖石了
		if(grid[x][y]==0)
			return 0;
		// 將土壤變成巖石
		grid[x][y]=0;
		return dfs(grid, x, y+1)+dfs(grid, x+1, y)+dfs(grid, x, y-1)+dfs(grid, x-1, y)+1;
		
	}
	// 記錄合并區(qū)域的最大面積
	public static int maxArea(int[][] grid) {
		int m=grid.length,n=grid[0].length;
		int res=0;
		for(int i=0;i<m;i++) {
			// 將區(qū)域上邊緣的土壤變成巖石,并記錄土地的最大面積
			res=Math.max(res, dfs(grid, 0, i));
			// 將區(qū)域下邊緣的土壤變成巖石,并記錄土地的最大面積
			res=Math.max(res,dfs(grid, m-1, i));
		}
		for(int j=0;j<n;j++) {
			// 將區(qū)域左邊緣的土壤變成巖石,并記錄土地的最大面積
			res=Math.max(res, dfs(grid, j, 0));
			// 將區(qū)域右邊緣的土壤變成巖石,并記錄土地的最大面積
			res=Math.max(res, dfs(grid, j, n-1));
		}
		return res;
	}
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();	//區(qū)域大小
		int[][] grid1=new int[N][N];
		int[][] grid2=new int[N][N];
		// 輸入?yún)^(qū)域1
		for(int i=0;i<N;i++) 
			for(int j=0;j<N;j++) 
				grid1[i][j]=sc.nextInt();
		// 輸入?yún)^(qū)域1
		for(int i=0;i<N;i++) 
			for(int j=0;j<N;j++) 
				grid2[i][j]=sc.nextInt();
		System.out.println(maxArea(grid1)+maxArea(grid2));
	}

}


2023第十四屆藍(lán)橋杯Java B組個(gè)人題解

??總結(jié)

????目前先寫(xiě)這幾道題的題解,后續(xù)有時(shí)間的話再寫(xiě)剩余的題解!
????有問(wèn)題的地方希望大家指正呀??如果你覺(jué)得這篇文章對(duì)你有幫助,歡迎點(diǎn)贊評(píng)論收藏,或者關(guān)注我呦?。?!愛(ài)你們??

2023第十四屆藍(lán)橋杯Java B組個(gè)人題解文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-414107.html

到了這里,關(guān)于2023第十四屆藍(lán)橋杯Java B組個(gè)人題解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第十四屆藍(lán)橋杯省賽JavaB組試題E【蝸?!總€(gè)人題解Dijkstra堆優(yōu)化

    第十四屆藍(lán)橋杯省賽JavaB組試題E【蝸?!總€(gè)人題解Dijkstra堆優(yōu)化

    ??????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????? 第十四屆藍(lán)橋杯省賽JavaB組試題E【蝸?!緿ijkstra堆

    2023年04月15日
    瀏覽(28)
  • 2023第十四屆藍(lán)橋杯C/C++B組省賽題解

    題目描述 【問(wèn)題描述】 小藍(lán)現(xiàn)在有一個(gè)長(zhǎng)度為100 的數(shù)組,數(shù)組中的每個(gè)元素的值都在0 到9 的范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 現(xiàn)在他想要從這個(gè)數(shù)組中尋找一些滿足以下條件的子序列: 子序列的長(zhǎng)度為8; 這個(gè)子序列可以按照下標(biāo)順序組成一個(gè)yyyymmdd 格式的日

    2024年02月04日
    瀏覽(19)
  • 2023第十四屆藍(lán)橋杯 C/C++大學(xué)生A組省賽 滿分題解

    2023第十四屆藍(lán)橋杯 C/C++大學(xué)生A組省賽 滿分題解

    以下代碼,目前均可通過(guò)民間OJ數(shù)據(jù)(dotcpp New Online Judge), 兩個(gè)OJ題目互補(bǔ),能構(gòu)成全集,可以到對(duì)應(yīng)鏈接下搜題提交(感謝OJ對(duì)題目的支持) 如果發(fā)現(xiàn)任何問(wèn)題,包含但不限于算法思路出錯(cuò)、OJ數(shù)據(jù)弱算法實(shí)際超時(shí)、存在沒(méi)考慮到的邊界情況等,請(qǐng)及時(shí)聯(lián)系作者 ? ? 洛谷

    2023年04月27日
    瀏覽(29)
  • 第十四屆藍(lán)橋杯大賽軟件賽省賽 Java 大學(xué) B 組題解

    找規(guī)律,可以先手動(dòng)模擬幾次,會(huì)發(fā)現(xiàn)?隨著n越大,零也越多,當(dāng)n為40的時(shí)候剛好有9個(gè)0 所以到40項(xiàng)以后的末尾9個(gè)階乘的和一定是不變的,可以用手算,也可以寫(xiě)程序 答案是,901327897 代碼: Java中有十進(jìn)制轉(zhuǎn)化為二進(jìn)制,十六進(jìn)制,八進(jìn)制的方法,暴力枚舉一下即可。(因?yàn)?/p>

    2024年02月02日
    瀏覽(30)
  • 第十四屆藍(lán)橋杯題解

    第十四屆藍(lán)橋杯題解

    聲明:以下都無(wú)法確定代碼的正確性,是賽時(shí)代碼,希望大家見(jiàn)諒!思路可以參考,等后續(xù)可以評(píng)測(cè)之后再去修改博客內(nèi)錯(cuò)誤,也希望大家能夠指正錯(cuò)誤! 分析:這道題直接暴力求解即可,八重for循環(huán),注意剪枝,前四個(gè)for循環(huán)必須是2013,然后月數(shù)的第一位不能超過(guò)1,天數(shù)

    2023年04月10日
    瀏覽(19)
  • 2023年第十四屆藍(lán)橋杯省賽Java C組題解

    只做出來(lái)(ACDFGH),挑幾個(gè)出來(lái),答案不一定正確,但自己測(cè)試通過(guò)了 求1~20230408的和 這里就直接套等差數(shù)列的求和公式,答案:204634714038436 ? 【問(wèn)題描述】 ????????有一個(gè)長(zhǎng)度為n的數(shù)組(n是10的倍數(shù)),每個(gè)數(shù) Ai 都是區(qū)間[0,9]中的整數(shù),小明發(fā)現(xiàn)數(shù)組里每種數(shù)出現(xiàn)的次數(shù)不太

    2023年04月26日
    瀏覽(33)
  • 第十四屆藍(lán)橋杯編程題部分代碼題解

    C. 冶煉金屬 最大值就是取 a / b a / b a / b 的最小值,最小值就是二分找到滿足 m i d ? ( b i + 1 ) ≥ a i mid * (b_i + 1) ≥ a_i mi d ? ( b i ? + 1 ) ≥ a i ? 的最小值 D. 飛機(jī)降落 全排列枚舉所有降落方案,然后判斷即可 E. 接龍數(shù)列 狀態(tài)定義: f [ i , j ] f[i, j] f [ i , j ] 為前 i i i 個(gè)數(shù),

    2023年04月11日
    瀏覽(25)
  • 第十四屆藍(lán)橋杯C++--A組題解(更新中)

    第十四屆藍(lán)橋杯C++--A組題解(更新中)

    本來(lái)考場(chǎng)上做完想著這回圖一樂(lè),打打暴力混個(gè)省獎(jiǎng)得了,看完民間題解感覺(jué)跟自己估計(jì)的差不多,應(yīng)該挺寄的,沒(méi)想到出分撿了個(gè)省一,喜提弱省省一倒數(shù) 這篇博客把自己會(huì)的題先放上來(lái),其他的題慢慢補(bǔ),好多知識(shí)點(diǎn)都沒(méi)碰到過(guò)。。、 至于為什么一個(gè)月前的比賽現(xiàn)在才

    2024年02月04日
    瀏覽(23)
  • 第十四屆藍(lán)橋杯省賽c/c++大學(xué)B組題解

    第十四屆藍(lán)橋杯省賽c/c++大學(xué)B組題解

    個(gè)人答案,有錯(cuò)漏感謝指正哈 本題總分:5 分 【問(wèn)題描述】 ??小藍(lán)現(xiàn)在有一個(gè)長(zhǎng)度為 100 的數(shù)組,數(shù)組中的每個(gè)元素的值都在 0 到 9 的范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3

    2023年04月12日
    瀏覽(24)
  • 藍(lán)橋杯第十四屆省賽完整題解 C/C++ B組

    藍(lán)橋杯第十四屆省賽完整題解 C/C++ B組

    沒(méi)有測(cè)評(píng),不知道對(duì)不對(duì),僅僅過(guò)樣例而已 本題總分:5 分 【問(wèn)題描述】 小藍(lán)現(xiàn)在有一個(gè)長(zhǎng)度為 100 的數(shù)組,數(shù)組中的每個(gè)元素的值都在 0 到 9 的 范圍之內(nèi)。數(shù)組中的元素從左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9

    2023年04月13日
    瀏覽(95)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包