# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
228369 | hhh07 | 콤보 (IOI18_combo) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <vector>
#include <algorithm>
//#include "combo.h"
using namespace std;
string napravi(string curr, char x, int n){
string res = "";
int j = 0;
for (int i = 0; i < n; i++){
if (j < curr.length()){
res += curr[j];
j++;
}
else{
res += x;
j = 0;
}
}
return res;
}
string rez(string s, int x){
string y = "";
for (int i = 0; i < x; i++)
y += s[i];
return y;
}
string maks(string a, string b, string x, string y){
if (a.length() > b.length() && a.length() > x.length() && a.length() > y.length())
return a;
if (b.length() > a.length() && b.length() > x.length() && b.length() > y.length())
return b;
if (x.length() > a.length() && x.length() > y.length() && x.length() > b.length())
return x;
return y;
}
string guess_sequence(int n){
string curr = "";
while(curr.length() < n){
string a = rez(napravi(curr, 'A', n), press(napravi(curr, 'A', n)));
string x = rez(napravi(curr, 'X', n), press(napravi(curr, 'X', n)));
string y = rez(napravi(curr, 'Y', n), press(napravi(curr, 'Y', n)));
string b = rez(napravi(curr, 'B', n), press(napravi(curr, 'B', n)));
curr = maks(a, b, x, y);
}
return curr;
}