2025 屆藍橋杯 Java B 組題解
第一次參加藍橋杯,輸入輸出都用的BufferedReader和PrintWriter,怕輸入輸出不對或者內存超限,也怕出現小錯誤運行不了的,比如Main打成Mian什么的,但還是希望能拿省一,這里給出自己的題解。
填空題
A. 簽到題
題目描述:
從1到2025,找出立方和的個位數為3的有多少
解題思路:
直接遍歷,ok了我本來對的最后幾分鐘就改錯了,媽的白送五分,如果因為這樣沒省一我真會氣死的
代碼實現:
public class lan2025 {public static void main(String[] args) {int count = 0;for(long i = 1;i<=2025;i++){if(i*i*i%10==3){count++;}}System.out.println(count);// }
}
結果分析:
202
B. 偏數學思維
題目描述:
N+20250412能被20240413整除
N+20240413能被20250412整除
求最小N
解題思路:
一開始考慮直接遍歷,但可能N是一個超long或者太大了遍歷不完。
我就從一個大數開始反著來,然后去做其他題目,讓他跑了一個小時還是沒好,所以考慮數學了。
思路如圖
代碼實現:
public class lan2025 {public static void main(String[] args) {int X = 20250412;int C = X-20240413;for(int i = 1;i<100000000;i++){if(((X-C)*i-C)%X==0){long N = (long)(X-C)*i-X;System.out.println(N);break;}}}
}
結果分析:
780002974133831(15位,嘿嘿,算到你結束都算不完)
編程題
C. 普通題
題目描述:
兩個數組,大小為n和m,任取兩個數,要求和不大于n+m且為質數,問這樣的數有幾個
(應該是這樣,題目沒記錯吧)
解題思路:
兩層for循環,然后判斷,這里我本來想對質數打表加快速度,想想還是算了應該能過,數據范圍比較小,不用開long
代碼實現:
public class lan2025 {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws IOException {String[] s = br.readLine().split(" ");int n = Integer.parseInt(s[0]);int m = Integer.parseInt(s[1]);int[] ans1 = new int[n];int[] ans2 = new int[m];String[] s1 = br.readLine().split(" ");String[] s2 = br.readLine().split(" ");for(int i = 0;i<n;i++){ans1[i] = Integer.parseInt(s1[i]);}for(int i = 0;i<m;i++){ans2[i] = Integer.parseInt(s2[i]);}int count = 0;for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(ans1[i]+ans2[j]<=n+m&&is(ans1[i]+ans2[j])){count++;}}}pw.println(count);pw.flush();}// 剪枝后的,快不少private static boolean is(int n){if(n<=1){return false;}if(n<=3){return true;}if(n%2==0||n%3==0){return false;}for(int i = 5;i*i<=n;i+=6){if(n%i==0||n%(i+2)==0){return false;}}return true;}
}
結果分析:
忘了用例了
D. 考察圖
題目描述:
給幾個點,半徑,沒交互的就有代價的連著,交互的就為0,問你最小是多少的代價能全部連著
解題思路:
先構造除grid[][],然后應該是bfs(當時我有點忘了),所以直接用floyd然后再找最大路徑,應該會超時
注意點是有負數的(解決方法:加偏移量)
代碼實現:
// 有點長,等拿到題目再寫吧,現在沒題目
結果分析:
其他題目都忘了哈哈哈
-
最后一題我是田忌賽馬,最大的我不要了,其他全要
-
倒數第二題寫了一堆,快速冪,dfs都用上了,跑不起來,直接返回-1了
-
待補充
總結
如果輸入輸出沒什么問題應該是有機會省一的,希望省一
(っ?????)っ🙏 拜托啦~