0
题目:https://ke.codingtang.com/#/problem/problemSub?id=1064

这是包河区2015年信息学竞赛试题之一,本蒟蒻的代码:
#include <iostream>
#include <cstring>
using namespace std;
int m, n;
int a[17][333], c[17];
bool b[17];
bool f;
void dfs(int s) {
if (f == 1) {
return ;
}
int pd = 1;
for (int i = 1; i <= n; i ++) {
if (c[i] != 1) {
pd = 0;
break;
}
}
if (pd == 1) {
f = 1;
return ;
}
for (int i = 1; i <= m; i ++) {
if (!b[i]) {
b[i] = 1;
for (int j = 1; j <= n; j ++) {
c[j] -= a[i][j];
}
dfs(s + 1);
for (int j = 1; j <= n; j ++) {
c[j] += a[i][j];
}
b[i] = 0;
}
}
}
int main() {
while (cin >> m >> n) {
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
f = 0;
for (int i = 1; i <= m; i ++) {
for (int j = 1; j <= n; j ++) {
cin >> a[i][j];
c[j] += a[i][j];
}
}
dfs(1);
if (f == 0) {
cout << "No" << endl;
} else {
cout << "Yes" << endl;
}
}
return 0;
}
提交之后:

不知道怎么写才能AC。恳请各位大佬指教,谢谢!
0
0
0
0
0
0
0
0
