답안 #401303

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
401303 2021-05-09T18:59:21 Z victoriad Martian DNA (IOI16_dna) C++14
컴파일 오류
0 ms 0 KB
#include "dna.h"
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <map>
#include <iomanip>
#include <fstream>
#include <cstdlib>
using namespace std;
            
 
std::string analyse(int n, int t) {
    
   vector<string>v;
    vector<string>a;
    vector<string>b;
    if(n==1){
        if(make_test("0"))return "0";
        return "1";
    }
    else{
    if(make_test("01")){
        v.push_back("01");
        a.push_back("1");
    }
    if(make_test("00")){
        v.push_back("00");
        a.push_back("0");
    }
    if(make_test("11")){
        v.push_back("11");
        b.push_back("1");
    }
    if(make_test("10")){
        v.push_back("10");
        b.push_back("0");
    }
    if(n==2){
        return v[0];
    }
    int l=v.size();
      for(int i=0;i<l;i++){
        string s=v[i];
        if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
        s.push_back('0');
        if(make_test(s)){
          v.push_back(s);
          if(n==3)return s;
          break;
        }
        }
        if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
        s[2]='1';
        if(make_test(s)){
          v.push_back(s);
          if(n==3)return s;
          break;
        }
        }
      }
      int x=v.size();
      for(int i=l;i<x;i++){
        string s=v[i];
        if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
        s.push_back('0');
        if(make_test(s)){
          v.push_back(s);
          if(n==4)return s;
          break;
        }
        }
        if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
        s[3]='1';
        if(make_test(s)){
          v.push_back(s);
          if(n==4)return s;
          break;
        }
        }
      }
      l=v.size();
      for(int i=x;i<l;i++){
        string s=v[i];
        if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
        s.push_back('0');
        if(make_test(s)){
          v.push_back(s);
          if(n==5)return s;
          break;
        }
        }
        if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
        s[4]='1';
        if(make_test(s)){
          v.push_back(s);
          if(n==5)return s;
          break;
        }
        }
      }
      
  
}

Compilation message

dna.cpp: In function 'std::string analyse(int, int)':
dna.cpp:48:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   48 |         if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
dna.cpp:56:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   56 |         if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
dna.cpp:68:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   68 |         if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
dna.cpp:76:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   76 |         if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
dna.cpp:88:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   88 |         if(s[s.size()]=='0'&& (a[0]=="0"||a[1]=="0")||s[s.size()]=='1'&& (b[0]=="0"||b[1]=="0")){
dna.cpp:96:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   96 |         if(s[s.size()]=='0'&& (a[0]=="1"||a[1]=="1")||s[s.size()]=='1'&& (b[0]=="1"||b[1]=="1")){
dna.cpp:107:1: error: expected '}' at end of input
  107 | }
      | ^
dna.cpp:16:35: note: to match this '{'
   16 | std::string analyse(int n, int t) {
      |                                   ^
dna.cpp:18:18: warning: control reaches end of non-void function [-Wreturn-type]
   18 |    vector<string>v;
      |                  ^
grader.cpp: In function 'bool make_test(std::string)':
grader.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for (int i = 0; i < p.size(); i++) {
      |                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for (int i = 1; i <= ss.size(); i++) {
      |                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   if (pr[i] == p.size()) {