|
|
@@ -44,44 +44,58 @@ void part2(){
|
|
|
}
|
|
|
int vals[] = {0,0,0,0,0,0,0,0,0,0,0,0};
|
|
|
int lncnt = 0;
|
|
|
- QStringList oxygenlist = new QStringList;
|
|
|
- QStringList co2list = new QStringList;
|
|
|
+ QStringList* oxygenlist = new QStringList;
|
|
|
+ QStringList* co2list = new QStringList;
|
|
|
QString line = "";
|
|
|
while(!strm.atEnd()){
|
|
|
line = strm.readLine();
|
|
|
oxygenlist->append(line);
|
|
|
co2list->append(line);
|
|
|
lncnt++;
|
|
|
- for (i=0;i<12;i++){
|
|
|
+ for (int i=0;i<12;i++){
|
|
|
vals[i] += (line.toStdString()[i]-'0');
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
|
|
|
- for(int i = 0;i<vals.length();i++){
|
|
|
- for(int j=0;j<oxygenlist->size();j++){
|
|
|
- if(vals[i] >= (lncnt / 2)){
|
|
|
- if(oxygenlist->at(j).toStdString() == '0'){
|
|
|
+ for(unsigned long long i = 0;i<sizeof(vals);i++){
|
|
|
+ for(int j=0;j<oxygenlist->size();j++){
|
|
|
+ if (oxygenlist->size() == 1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(vals[i] >= (lncnt / 2)){
|
|
|
+ if(oxygenlist->at(j).toStdString()[i] == '0'){
|
|
|
oxygenlist->removeAt(j);
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(oxygenlist->at(j).toStdString() == '1'){
|
|
|
- oxygenlist->removeAt(j);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(oxygenlist->at(j).toStdString()[i] == '1'){
|
|
|
+ oxygenlist->removeAt(j);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- for(int j=0;j<colist.size();j++){
|
|
|
+ for(int j=0;j<co2list->size();j++){
|
|
|
+ if (co2list->size() == 1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(vals[i] < (lncnt / 2)){
|
|
|
- if(co2list->at(j).toStdString() == '0'){
|
|
|
- oxygenlist->removeAt(j);
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(co2list.at(j).toStdString() == '1'){
|
|
|
- oxygenlist->removeAt(j);
|
|
|
+ if(co2list->at(j).toStdString()[i] == '0'){
|
|
|
+ co2list->removeAt(j);
|
|
|
}
|
|
|
- }
|
|
|
+ }else{
|
|
|
+ if(co2list->at(j).toStdString()[i] == '1'){
|
|
|
+ co2list->removeAt(j);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ int num1 = co2list->at(0).toInt(nullptr,2);
|
|
|
+ int num2 = oxygenlist->at(0).toInt(nullptr,2);
|
|
|
+
|
|
|
+ qDebug() << co2list->at(0);
|
|
|
+ qDebug() << num1;
|
|
|
+ qDebug() << oxygenlist->at(0);
|
|
|
+ qDebug() << num2;
|
|
|
+ qDebug() << num1 * num2;
|
|
|
}
|
|
|
|
|
|
int main(int argc, char **argv){
|