제출 #401303

#제출 시각아이디문제언어결과실행 시간메모리
401303victoriadMartian DNA (IOI16_dna)C++14
컴파일 에러
0 ms0 KiB
#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; } } } }

컴파일 시 표준 에러 (stderr) 메시지

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()) {