HDOJ1058 누수
hdoj1058
#include<cstdio>
#include<string>
#include<iostream>
#include<vector>
#include<queue>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
using namespace std;
long long dp[6000];
int n;
long long k1,k2,k3,k4;
int min(int a,int b)
{
return a<b?a:b;
}
void dddd()
{
printf("k1=%d,k2=%d,k3=%d,k4=%d
",k1,k2,k3,k4);
}
void init(int n)
{
dp[1]=1;
long long mimi=2000000000;
for(int i=2; i<=n; i++)
{
mimi=2000000000;
for(int j=1; j<i; j++)
{
k1=dp[j]*2;
k2=dp[j]*3;
k3=dp[j]*5;
k4=dp[j]*7;
// printf(" %d ",i);
//dddd();
if(k1>dp[i-1])
{
mimi=min(k1,mimi);
}
else if(k2>dp[i-1])
{
mimi=min(mimi,k2);
}
else if(k3>dp[i-1])
{
mimi=min(k3,mimi);
}
else if(k4>dp[i-1])
{
mimi=min(k4,mimi);
}
}
dp[i]=mimi;
}
}
void debug()
{
for(int i=1; i<=n; i++)
printf("%lld ",dp[i]);
printf("
");
}
int main()
{
init(5842);
while(~scanf("%d",&n)&&n)
{
if( n%10==1&&n%100!=11)// 11,12,13;
printf("The %dst humble number is %d.
",n,dp[n]);
else if( n%10==2&&n%100!=12)
printf("The %dnd humble number is %d.
",n,dp[n]);
else if( n %10==3&&n%100!=13)
printf("The %drd humble number is %d.
",n,dp[n]);
else
printf("The %dth humble number is %d.
",n,dp[n]);
//debug();
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【경쟁 프로 전형적인 90문】008의 해설(python)의 해설 기사입니다. 해설의 이미지를 봐도 모르는 (이해력이 부족한) 것이 많이 있었으므로, 나중에 다시 풀었을 때에 확인할 수 있도록 정리했습니다. ※순차적으로, 모든 문제의 해설 기사를 들어갈 예정입니다. 문자열...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.