58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
|
#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;
|
||
|
}
|