搜索系列——1321 棋盘有关问题
搜索系列——1321 棋盘问题棋盘问题 Time Limit : 2000/1000ms (Java/Other)Memory Limit : 20000/10000K (J
搜索系列——1321 棋盘问题
棋盘问题 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 11 Accepted Submission(s) : 4Problem DescriptionInputOutputSample InputSample OutputSource#include<stdio.h>int n, k, c[8], r[8], p[8][8], sum;long way;void search(int cur){int i, j;if (sum == k){way++;return;}if (cur == n)return;for (j = 0; j < n; j++){if (p[cur][j] && r[cur] && c[j]){r[cur] = 0;c[j] = 0;sum++;search(cur + 1);sum--;r[cur] = 1;c[j] = 1;}}search(cur + 1);return;}int main(){scanf("%d%d", &n, &k);for (; n != -1 || k != -1; scanf("%d%d", &n, &k)){getchar();for (int i = 0; i < n; i++){r[i] = 1;c[i] = 1;for (int j = 0; j < n; j++)if (getchar() == '#')p[i][j] = 1;elsep[i][j] = 0;getchar();}way = 0;sum = 0;search(0);printf("%ld\n", way);}return 0;}
学习总是先从模仿开始,因为我是个蒻菜。。。