标签:cat sample miss pac max mem air with its
C/C++:
1 #include <map> 2 #include <queue> 3 #include <cmath> 4 #include <vector> 5 #include <string> 6 #include <cstdio> 7 #include <cstring> 8 #include <climits> 9 #include <iostream> 10 #include <algorithm> 11 #define INF 0xffffff 12 using namespace std; 13 const int my_max = 55; 14 15 int n, my_map[my_max][my_max], my_ans, my_set[my_max]; 16 17 bool my_is_clique(int my_depth, int my_point) 18 { 19 for (int i = 1; i < my_depth; ++ i) 20 if (!my_map[my_set[i]][my_point]) 21 return false; 22 return true; 23 } 24 25 void my_dfs(int my_depth, int my_point) 26 { 27 //if (my_depth + n - my_point + 1 <= my_ans) return; 28 for (int i = my_point; i <= n; ++ i) 29 { 30 if (my_is_clique(my_depth + 1, i)) 31 { 32 my_set[my_depth + 1] = i; 33 my_dfs(my_depth + 1, i + 1); 34 } 35 } 36 if (my_depth > my_ans) my_ans = my_depth; 37 } 38 39 int main() 40 { 41 while (~scanf("%d", &n), n) 42 { 43 memset(my_map, 0, sizeof(my_map)); 44 memset(my_set, 0, sizeof(my_set)); 45 46 for (int i = 1; i <= n; ++ i) 47 for (int j = 1; j <= n; ++ j) 48 scanf("%d", &my_map[i][j]); 49 my_ans = 0; 50 my_dfs(0, 1); 51 printf("%d\n", my_ans); 52 } 53 return 0; 54 }
标签:cat sample miss pac max mem air with its
原文地址:https://www.cnblogs.com/GetcharZp/p/9462826.html