1
0
Fork 0

Day 3 submission

This commit is contained in:
Marcus Penate 2021-12-03 17:50:09 -05:00
parent 3cac60d542
commit 3382874b69
2 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,20 @@
#include <iostream>
using namespace std;
int main()
{
string in;
int counts[12] = {0};
int result = 0;
while(cin >> in) for(int i = 0; i < 12; i++) counts[i] = (in[i]=='1')?(counts[i]+1):(counts[i]-1);
for(int i = 0; i < 12; i++) result |= ((counts[i]>0)?1:0)<<(11-i);
cout << result*(result^0x0FFF) << endl;
return 0;
}

View File

@ -0,0 +1,57 @@
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> m_in, l_in;
string in_str;
while(cin >> in_str) m_in.push_back(in_str);
l_in = vector<string>(m_in);
int m_c, l_c;
for(int i = 0; i < m_in[0].size() && m_in.size() > 1; i++)
{
m_c = 0;
for(int j = 0; j < m_in.size(); j++)
{
m_c += (m_in[j][i] == '1')?1:-1;
}
for(int j = 0; j < m_in.size() && m_in.size() > 1; j++)
{
if (((m_c>=0)?'0':'1')==m_in[j][i])
{
m_in.erase(m_in.begin()+j);
j--;
}
}
}
for(int i = 0; i < l_in[0].size() && l_in.size() > 1; i++)
{
l_c = 0;
for(int j = 0; j < l_in.size(); j++)
{
l_c += (l_in[j][i] == '1')?1:-1;
}
for(int j = 0; j < l_in.size() && l_in.size() > 1; j++)
{
if (((l_c>=0)?'1':'0')==l_in[j][i])
{
l_in.erase(l_in.begin()+j);
j--;
}
}
}
cout << stoi(m_in[0],nullptr,2)*stoi(l_in[0],nullptr,2) << endl;
return 0;
}