POJ1659 Frogs' Neighborhood
2011-07-17 19:32
429 查看
第一道ACM题,做了三天做出来了好高兴啊!在Veegin那里学会了怎样使用数组,然后又自己摸索看书学会递归。师兄教我用C++,嗯,比较好用。然后,感觉递归很灵活很灵活,可能是第一次写,不熟悉。不管如何,还是写出来了,哈哈哈!继续再接再厉!48行代码,鸡冻死我了!
#include <iostream> #define MAXN 250 #define MaxInt 0x3f3f3f3f using namespace std; int T, N, flow[MAXN][MAXN], cap[MAXN][MAXN], a[MAXN]; bool search(int row, int col, int remain) { if (remain < 0) return false; if (col == N) { if (remain > 1) return false; cap[row][col] = remain; if (row == N) return cap[row][col] == 0; return search(row + 1, 1, a[row + 1]); } if (row > col) { cap[row][col] = cap[col][row]; return search(row, col + 1, remain - cap[row][col]); } cap[row][col] = 0; if (search(row, col + 1, remain)) return true; if (row == col) return false; cap[row][col] = 1; return search(row, col + 1, remain - 1); } int main() { int i, j; cin >> T; while (T--) { cin >> N; for (i = 1; i <= N; ++i) cin >> a[i]; if (search(1, 1, a[1])) { cout << "YES\n"; for (i = 1; i <= N; i++) { for (j = 1; j <= N; j++) { cout << cap[i][j] << " "; } cout << '\n'; } } else cout << "NO\n"; if (T >= 1) cout << endl; } return 0; }
相关文章推荐
- POJ 1659 Frogs' Neighborhood(Havel-Hakimi定理)
- POJ 1659 Frogs' Neighborhood(可图性判定—Havel-Hakimi定理)【超详解】
- poj 1659 Frogs' Neighborhood
- POJ1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood
- poj 1659【Frogs' Neighborhood】
- poj 1659 Frogs' Neighborhood
- Poj 1659 Frogs' Neighborhood 图的可图性判断
- poj 1659 Frogs' Neighborhood
- POJ 1659 Frogs' Neighborhood(DFS)
- POJ 1659 Frogs' Neighborhood
- poj 1659 Frogs' Neighborhood
- POJ1659 Frogs' Neighborhood(Havel定理)
- poj 1659 Frogs' Neighborhood(判断序列可图)
- poj 1659 Frogs' Neighborhood(出入度、可图定理)
- poj 1659 Frogs' Neighborhood (DFS)
- poj 1659 Frogs' Neighborhood (贪心 + 判断度数序列是否可图)
- POJ 1659 Frogs' Neighborhood (贪心)
- POJ 1659 Frogs' Neighborhood (havel定理)