轉化為乙個有向圖,判斷有向圖是否有閉合環。如果有,則可以無限重複。如果沒有,則不行。
轉化的具體方式為,遍歷輸入條件的每乙個邊,然後把這個邊的對應節點(比如a+對應a-)與這個條件的其他邊相連(模擬現實情況中的兩個正方形相連)。
網上**的輸入非常漂亮,用了兩個函式,乙個id函式,將52個條件對應為了52個數字。異或可以用來轉換相鄰的偶數和奇數。
一道普通的dfs題
!vis[i]為剪枝,意思是只有i沒有被遍歷過才有繼續dfs的必要。如果i被遍歷過,那麼這個節點一定不在環裡面。
**
#include#includeusing namespace std;
int edge[52][52];
int vis[52];
int id(char a,char b)
void ct(char a1,char a2,char b1,char b2)
}int dfs(int u)
}vis[u]==1;
return 0;
}int cyc()
return 0;
}int main(void)}}
printf("%s",(cyc()?"unbounded\n":"bounded\n"));
// for (int i=0;i<52;i++)
// }
}return 0;
}
劉汝佳第六章UVA 548
遞迴遍歷樹還是有點繞。現在看來是這樣 1.先序遍歷的結果,第乙個為節點,然後一坨是preorder left root 的結果,右邊是preorder right root 的結果 2.中序遍歷,同理,節點在中間。3.後序遍歷,同理,節點在最後 在這道題中,因為要區分節點,所以每個節點權值不一樣,所...
劉汝佳第六章UVA 1599
這個題瘋狂re.網上找的 也不好使,不懂了。無向圖,資料量太大,開鄰接矩陣會tle。所以開鄰接向量 先一次bfs,將每乙個點的距離找出來。第二次bfs,將以每乙個點的距離為參照,先判斷是否是最短路徑 距離減1 然後再判斷顏色。然後再對這個點所有最短路徑且最小顏色的點bfs。注意還要把ans i 設定...
mysql第六章 第六章 mysql日誌
第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...