用户输出
0
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#25742 | #1150. 1-01F.czq的疑惑矩阵 | Accepted | 100 | 1995 ms | 66040 K | C++ 11 / 1.5 K | Rhodoks | 2020-06-28 21:33:18 |
#include <bits/stdc++.h>
#define DB double
#define LL long long
#define MST(a, b) memset((a), (b), sizeof(a))
#define MRK() cout << "Mark" << endl;
#define WRT(x) cout << #x << " = " << (x) << endl;
#define MAXN 210000
#define MAXM 410000
#define MOD 998244353
#define INF 0x3f3f3f3f
#define LLINF 0x3f3f3f3f3f3f3f3f
#define EPS 1e-5
#define _ 0
using namespace std;
int a[100][100];
int ansa[100][100];
int mask[100];
int n, m;
int bc[1 << 25];
int bitcount(int n) {
int ans = 0;
while (n) {
ans += (n & 1);
n >>= 1;
}
return ans;
}
void init() {
cin >> n >> m;
for (int i = 0; i < (1 << m); i++)
if (i & 1)
bc[i] = bc[i >> 1] + 1;
else
bc[i] = bc[i >> 1];
for (int i = 0; i < (1 << m); i++) bc[i] = min(bc[i], m - bc[i]);
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) {
cin >> a[i][j];
mask[i] |= (a[i][j] << j);
}
}
void work() {
int ans = INF;
int ansmask = 0;
for (int msk = 0; msk < (1 << m); msk++) {
int tmp = 0;
for (int j = 0; j < n; j++) tmp += bc[mask[j] ^ msk];
if (ans > tmp) {
ans = tmp;
ansmask = msk;
}
}
cout << ans << endl;
return;
for (int i = 0; i < n; i++) {
int tmp;
// WRT(bc[mask[i]^ansmask])
// WRT(bitcount(mask[i]^ansmask))
if (bc[mask[i] ^ ansmask] == bitcount(mask[i] ^ ansmask))
tmp = 0;
else
tmp = 1;
// WRT(tmp);
for (int j = 0; j < m; j++) {
int t = (ansmask >> j) & 1;
ansa[i][j] = t ^ tmp;
cout << ansa[i][j] << ' ';
ans -= a[i][j] ^ ansa[i][j];
}
cout << endl;
}
cout << ans;
}
int main() {
init();
work();
return ~~(0 ^ _ ^ 0);
}
用户输出
4
系统信息
Exited with return code 0
用户输出
5
系统信息
Exited with return code 0
用户输出
5
系统信息
Exited with return code 0
用户输出
5
系统信息
Exited with return code 0
用户输出
0
系统信息
Exited with return code 0
用户输出
0
系统信息
Exited with return code 0
6 10
1 1 0 1 0 1 1 1 1 0
1 1 0 1 0 0 0 1 1 1
1 0 0 1 1 0 0 0 1 0
0 1 1 1 0 0 1 0 0 0
1 1 0 1 1 1 1 1
<25 bytes omitted>
用户输出
14
系统信息
Exited with return code 0
6 10
0 0 0 0 0 1 0 0 0 1
0 0 0 1 0 1 0 1 0 0
0 1 1 0 0 0 0 1 1 0
0 0 1 0 0 0 1 0 1 0
1 1 0 1 1 1 1 1
<25 bytes omitted>
用户输出
16
系统信息
Exited with return code 0
8 10
1 1 1 0 0 1 0 1 0 0
0 0 1 0 1 0 0 0 1 1
0 0 0 1 1 1 1 1 0 0
1 1 0 1 0 0 0 1 0 0
1 0 1 0 0 0 0 1
<65 bytes omitted>
用户输出
23
系统信息
Exited with return code 0
15 18
0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0
0 1 0 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1
1 0 1 1 0 0 0 1 1 1 1
<446 bytes omitted>
用户输出
82
系统信息
Exited with return code 0
24 2
0 0
0 0
0 0
0 1
1 1
1 0
1 1
1 0
1 1
0 1
0 1
0 0
1 0
1 1
0 1
1 1
1 1
0 0
1 1
1 1
0 1
1 1
1 0
1 1
<1 byte omitted>
用户输出
9
系统信息
Exited with return code 0
19 5
1 1 1 0 1
0 0 1 1 1
1 0 1 0 1
0 1 0 0 1
1 0 1 0 1
0 0 1 1 1
1 0 0 0 0
0 1 1 0 0
0 0 0 0 1
0 0 0
<95 bytes omitted>
用户输出
27
系统信息
Exited with return code 0
19 9
0 1 1 1 0 1 1 0 0
1 0 1 0 1 0 1 1 1
0 1 1 0 1 1 1 1 1
1 0 0 0 1 0 1 1 0
1 0 1 1 0 0 1 0 1
1 1 0
<247 bytes omitted>
用户输出
51
系统信息
Exited with return code 0
21 2
0 0
0 0
1 1
1 0
0 1
1 1
0 1
0 0
1 0
0 1
0 0
0 0
1 1
0 1
1 0
0 0
0 0
0 1
0 0
0 1
1 1
用户输出
9
系统信息
Exited with return code 0
24 24
1 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0
0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1
<1058 bytes omitted>
用户输出
207
系统信息
Exited with return code 0
24 24
0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1
0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0
<1058 bytes omitted>
用户输出
207
系统信息
Exited with return code 0
24 24
0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1
0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0
<1058 bytes omitted>
用户输出
203
系统信息
Exited with return code 0
24 24
0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0
1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0
<1058 bytes omitted>
用户输出
203
系统信息
Exited with return code 0