poj 2051 - Argus(더미)
최근 무더기를 배우고 있어서 수공으로 무더기로 우선 대열을 이루었다.
작은 지붕더미
코드는 다음과 같습니다.
struct Node
{
int id;
int period;
int time;
bool operator < (const Node &tmp) const
{
return time<tmp.time||(time==tmp.time&&id<tmp.id);
}
Node& operator = (const Node &tmp)
{
this->id = tmp.id;
this->period = tmp.period;
this->time = tmp.time;
return (*this);
}
};
Node node[3005];
int len;
void down(int p)//
{
int q;
Node tmp = node[p];//
for( q = p*2; q <= len; q *= 2)
{
if(q<len&&node[q+1]<node[q])//
q = q+1;
if(tmp<node[q])//
break;
else//
{
node[p] = node[q];
p = q;
}
}
node[p] = tmp;//
}
void build()//
{
for(int i = len/2; i > 0; --i)//
down(i);
}
int main()
{
char s[30];
int cur = 1;
while(scanf("%s", s) && s[0] != '#')
{
scanf("%d%d", &node[cur].id, &node[cur].period);
node[cur].time = node[cur].period;
++cur;
}
len = cur-1;
build();
int k;
scanf("%d", &k);
while(k--)
{
printf("%d
", node[1].id);
node[1].time += node[1].period;// ,
down(1);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.