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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2020蓝桥杯省赛---java---A---4(七段码)

發布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020蓝桥杯省赛---java---A---4(七段码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

思路分析

代碼實現

package lanqiao;public class Main {public static int N=10;public static int e[][]=new int[N][N];//存儲二極管相鄰的信息public static int f[]=new int[N];//并查集public static int ans=0;public static boolean st[]=new boolean[N];//true表示發光public static void init(){e[1][2]=e[1][6]=1;//表示相鄰e[2][1]=e[2][7]=e[2][3]=1;e[3][2]=e[3][7]=e[3][4]=1;e[4][3]=e[4][5]=1;e[5][7]=e[5][6]=e[5][4]=1;e[6][5]=e[6][7]=e[6][1]=1;e[7][2]=e[7][3]=e[7][5]=e[7][6]=1;}public static int find(int u){if(f[u]==u) return u;f[u]=find(f[u]);return f[u];}public static void dfs(int d){//1-7if(d>7){//終止條件for(int i=1;i<=7;i++){//并查集初始化f[i]=i;}for(int i=1;i<=7;i++){for(int j=1;j<=7;j++){if(e[i][j]==1&&st[i]==true&&st[j]==true){//把所有發光且相鄰的二極管合并int fx=find(i),fy=find(j);if(fx!=fy){f[fx]=fy;//合并}}}}int k=0;//表示產生的集合的個數for(int i=1;i<=7;i++){if(st[i] &&f[i]==i)k++;}if(k==1) ans++;//只產生一個集合,說明所有的發光二極管是連成一片的return;}st[d]=true;dfs(d+1);st[d]=false;dfs(d+1);}public static void main(String[] args) {init();dfs(1);System.out.println(ans);}}

答案

80

總結

以上是生活随笔為你收集整理的2020蓝桥杯省赛---java---A---4(七段码)的全部內容,希望文章能夠幫你解決所遇到的問題。

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