Submission #1963949
Source Code Expand
#include <iostream> #include <string> #include <vector> #include <algorithm> #include <queue> #include <set> #include <map> using namespace std; int r, c; int senbei[10][10000]; int black[10000]; int white[10000]; int rec(vector<int> bl_ch,vector<int> wh_ch,int cou) { if(cou == r) { int result = 0; for(int i = 0;i < c;i++) { result += max(black[i] + bl_ch[i],white[i] + wh_ch[i]); } return result; } int ans = 0; ans = rec(bl_ch,wh_ch,cou + 1); for(int i = 0;i < c;i++) { bl_ch[i] += (senbei[cou][i] == 0 ? -1 : 1); wh_ch[i] += (senbei[cou][i] == 1 ? -1 : 1); } ans = max(ans,rec(bl_ch,wh_ch,cou + 1)); for(int i = 0;i < c;i++) { bl_ch[i] += (senbei[cou][i] == 1 ? -1 : 1); wh_ch[i] += (senbei[cou][i] == 0 ? -1 : 1); } return ans; } int main() { cin >> r >> c; int tmp; for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cin >> tmp; senbei[i][j] = tmp; if(tmp == 0) { black[j]++; } else { white[j]++; } } } vector<int> bl(c); vector<int> wh(c); cout << rec(bl,wh,0) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - おせんべい |
User | niuez |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1402 Byte |
Status | AC |
Exec Time | 104 ms |
Memory | 1704 KB |
Judge Result
Set Name | set01 | set02 | set03 | set04 | set05 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | ||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
set01 | data1 |
set02 | data2 |
set03 | data3 |
set04 | data4 |
set05 | data5 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
data1 | AC | 1 ms | 256 KB |
data2 | AC | 2 ms | 256 KB |
data3 | AC | 3 ms | 384 KB |
data4 | AC | 46 ms | 1048 KB |
data5 | AC | 104 ms | 1704 KB |