제출 #712800

#제출 시각아이디문제언어결과실행 시간메모리
712800Paul_Liao_1457콤보 (IOI18_combo)C++17
컴파일 에러
0 ms0 KiB
//記得跳題 // #pragma GCC optimize("O3,unroll_loops") // #pragma GCC target("avx2") #include<iostream> #include<array> #include<vector> #include<string> #include<algorithm> #include<set> #include<queue> #include<stack> #include<math.h> #include<map> #include<unordered_map> #include<unordered_set> #include<cstring> #include<iomanip> #include<bitset> #include<tuple> #include<random> using namespace std; #define ll long long #define DB double #define LL __int128_t #define FOR(i,a,b) for(int i=a;i<b;i++) #define REP(i,a,b) for(int i=a;i>=b;i--) #define INF (ll)(2e9) #define F first #define S second #define X first #define Y second #define eps (DB)(1e-10) #define pb push_back #define mp make_pair #define AC ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl "\n" //#include "combo.h" string ans; int press(string p) { REP(i, (int)ans.size(), 1) { string tmp = ans.substr(0, i); if (p.find(tmp) != p.npos) return i; } return 0; } char c[4] = {'A', 'B', 'X', 'Y'}, cc[3]; string guess_sequence(int n) { string out; int p; int cnt = 0; FOR(j, 0, 4) { cnt++; out += c[j]; if (cnt == 4) break; p = press(out); if (p) break; } cout << "out = " << out << endl; cnt = 0; FOR(j, 0, 4) if (c[j] != out[0]) cc[cnt++] = c[j]; FOR(i, 1, n) { string tmp = out + cc[0] + cc[0] + out + cc[0] + cc[1] + out + cc[0] + cc[2] + out + cc[1]; p = press(tmp); // cout << "tmp = " << tmp << " p = " << p << endl; if (p == out.size()) out += cc[2]; else if (p == out.size() + 1) out += cc[1]; else out += cc[0]; } return out; } signed main() { AC; // go int t; cin >> t; while (t--) { string n; cin >> n; ans = n; cout << guess_sequence((int)n.size()) << endl; } } /* ???????????????????????????????????????????????? */

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:78:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   78 |         if (p == out.size()) out += cc[2];
      |             ~~^~~~~~~~~~~~~
combo.cpp:79:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   79 |         else if (p == out.size() + 1) out += cc[1];
      |                  ~~^~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cc5y0fMB.o: in function `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
grader.cpp:(.text+0x0): multiple definition of `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'; /tmp/ccyVhHIA.o:combo.cpp:(.text+0xc0): first defined here
/usr/bin/ld: /tmp/cc5y0fMB.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccyVhHIA.o:combo.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status