HDU 1280 앞 m 크기 의 기수 정렬
제목 의 대의:
N (N < = 3000) 개 수 를 드 리 겠 습 니 다.
생각:
수의 범위 가 제한 되 어 있 기 때문에 기수 정렬 을 한다.
출력 할 때 큰 것 부터 작은 것 까지 M 개 를 채 우 면 됩 니 다.
#include<cstdio>
const int MAXN=10000+2;
int data[3001];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int sum[MAXN]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&data[i]);
sum[ data[i] ]++;
}
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
sum[ data[i]+data[j] ]++;
int len=0;
bool first=true;
for(int i=MAXN-1;len<m;i--)
{
while(sum[i]!=0 && len<m)
{
sum[i]--;
if(first)
printf("%d",i);
else
printf(" %d",i);
len++;
first=false;
}
}
printf("
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.