우선 보다시피 정답자가 없음
내가 첫번째 정답자가 되길 바라며...
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int d_num = 0;
int dif_age_min = 2000000000;
int main(int argc, char** argv) {
int dif_age, dif_lev = 0;
int min_age, min_lev = 0;
int previous_num;
int flag = 3;
int p_num = 0;
int dif_lev_min;
vector<vector<int>> d;
vector<vector<string>> answer;
int test_num = 0;
int num = 0;
int first_factor,second_factor;
char d_p;
string str;
cin >> test_num;
cin >> num;
for (previous_num = 0;previous_num < test_num;previous_num++) {
d_num = 0;
p_num = 0;
d.clear();
for (int j = 0;j <num;j++) {
cin >> d_p;
if (d_p =='D') {
d.push_back(vector <int>());
cin >> first_factor>>second_factor;
d[d_num].push_back(first_factor); //그냥 cin>>d[j][second]이런식으로 하면 안됨! 벡터 오류뜸
d[d_num].push_back(second_factor);
d_num++;
}
else if (d_p = 'P') {
cin >> first_factor;
first_factor--;
dif_age_min = 2000000000;
//이때 p[fist_factor]의 스승을 찾아줘야함
for (int i = 0;i < d_num;i++) {
if ((d[i][1] >= d[first_factor][1]) && (d[i][0] >= d[first_factor][0])) {
dif_age = d[i][1] - d[first_factor][1];
dif_lev = d[i][0] - d[first_factor][0];
if (i == first_factor)
;
else if (dif_age < dif_age_min) {
min_age = i;
flag = 1;
}
else if (dif_age == dif_age_min) {
dif_lev_min = min((d[min_age][0] - d[first_factor][0]), dif_lev);
if (dif_lev_min == dif_lev)
min_lev = i;
else
min_lev = min_age;
flag = 2;
}
}
else {
//answer.push_back(vector<string>());
flag = 3;
}
}
if (flag==1) {
answer.push_back(vector<string>());
str = to_string(min_age+1);
answer[previous_num].push_back(str);
p_num++;
}
else if(flag==2) {
answer.push_back(vector<string>());
str = to_string(min_lev+1);
answer[previous_num].push_back(str);
p_num++;
}
else if (flag == 3) {
answer.push_back(vector<string>());
answer[previous_num].push_back("NE");
p_num++;
}
}
}
cout << "#" << previous_num + 1<<" ";
for (int i = 0;i < p_num;i++)
cout << answer[previous_num][i]<<" ";
cout << endl;
}
return 0;
}
ㅎ ㅏ..진짜 답을 너무 잘찾아내서 소름일 정도인데 런타임 에러....
도대체 왜일까..
왜인지 아시는분 댓글로 달아주세요.. plz..
테스트 케이스만 한 5개는 만들어서 돌린것 같은데
진짜 정답이 다 제대로 나오는데...무엇이 문제인걸까..