오늘 오전 10시에 있었던 매치.
회사에서 소음때문에 하지말까 하다 참가했다.
250과 500문제는 쉽게 해법을 생각해 냈고,
1000은 문제파악부터 어렵더니.. 입력값 받아오는거부터 버벅거려서 걍 포기했다;
500문제를 같은 방에 있는 사람들이 다들 좀 이상하게 푼거 같아서 Challenge를 좀 해봤다.
3명 성공, 3명 실패.. 근데 실패한 3명도 system test에서는 죄다 fail 나더라;
( 입력값만 잘 골랐어도 다 잡는건데 ㅡㅡㅋ)
생각보다 500에서 많이들 떨어져서 방에서 1등, DIV2 전체 25등..ㅋㅋ; 요즘은 방에서 1등아니면 꼴등이구만;
250
: 평이한 문제인듯..
class ColumnDiagramPerimeter
{
public:
int getPerimiter(vector <int> a)
{
int n = a.size();
int ret = 2 * n;
ret += a[0];
for(int i = 1; i<a.size(); i++)
{
ret += abs(a[i] - a[i-1]);
}
ret += a[n-1];
return ret;
}
};
500
undo가 될 애들을 can vector에 담는 방법으로 구했다. 쉽게 하기 위해 뒤집어서 뒤에서 부터 검색함.
class Undo
{
public:
string getText(vector <string> c, vector <int> t)
{
reverse(ALL(t));
reverse(ALL(c));
int n = t.size();
VI can(n, 1);
string ret;
string a;
int b;
for(int i = 0; i < n; i++)
{
if(c[i].substr(0, 4) == "undo" && can[i] == 1)
{
can[i] = 0;
istringstream in(c[i]);
in >> a >> b;
for( int j=i+1; j<n; j++)
{
if( t[i]-b <= t[j] ) can[j] = 0;
}
}
}
REP(i, n)
{
if(can[i] == 1)
{
char c1;
istringstream in1(c[i]);
in1 >> a >> c1;
ret += c1;
}
}
reverse(ALL(ret));
return ret;
}
};
회사에서 소음때문에 하지말까 하다 참가했다.
250과 500문제는 쉽게 해법을 생각해 냈고,
1000은 문제파악부터 어렵더니.. 입력값 받아오는거부터 버벅거려서 걍 포기했다;
500문제를 같은 방에 있는 사람들이 다들 좀 이상하게 푼거 같아서 Challenge를 좀 해봤다.
3명 성공, 3명 실패.. 근데 실패한 3명도 system test에서는 죄다 fail 나더라;
( 입력값만 잘 골랐어도 다 잡는건데 ㅡㅡㅋ)
생각보다 500에서 많이들 떨어져서 방에서 1등, DIV2 전체 25등..ㅋㅋ; 요즘은 방에서 1등아니면 꼴등이구만;
250
: 평이한 문제인듯..
class ColumnDiagramPerimeter
{
public:
int getPerimiter(vector <int> a)
{
int n = a.size();
int ret = 2 * n;
ret += a[0];
for(int i = 1; i<a.size(); i++)
{
ret += abs(a[i] - a[i-1]);
}
ret += a[n-1];
return ret;
}
};
500
undo가 될 애들을 can vector에 담는 방법으로 구했다. 쉽게 하기 위해 뒤집어서 뒤에서 부터 검색함.
class Undo
{
public:
string getText(vector <string> c, vector <int> t)
{
reverse(ALL(t));
reverse(ALL(c));
int n = t.size();
VI can(n, 1);
string ret;
string a;
int b;
for(int i = 0; i < n; i++)
{
if(c[i].substr(0, 4) == "undo" && can[i] == 1)
{
can[i] = 0;
istringstream in(c[i]);
in >> a >> b;
for( int j=i+1; j<n; j++)
{
if( t[i]-b <= t[j] ) can[j] = 0;
}
}
}
REP(i, n)
{
if(can[i] == 1)
{
char c1;
istringstream in1(c[i]);
in1 >> a >> c1;
ret += c1;
}
}
reverse(ALL(ret));
return ret;
}
};
반응형