HDU-1260 Tickets 간단한 질문(동적 계획/DP+ 간단한 시뮬레이션)
1709 단어 동적 기획
현재 n명이 영화표를 사려고 하는데 한 사람당 단독으로 표를 사는 데 걸리는 시간, 그리고 전 사람과 함께 사는 데 걸리는 시간을 알고 있다면 최소한 얼마나 걸리면 표를 다 살 수 있는지 물어보세요.
Input
N(1<=N<=10)을 주면 N팀의 샘플이 있고 K(1<=K<=2000)를 주면 K 개인이 표를 샀다는 뜻인데...K 개수를 드리면 이 사람이 단독으로 표를 사는데 걸리는 시간을...개수(0s<=Si<=25s)마다 K-1을 주어 이 사람과 앞에 있는 사람이 표를 사는 데 걸리는 시간을 표시한다..개수 보장 (0s<=Si<=50s)
Output
각 조의 데이터에 대해 당신은 영화관의 매표가 끝날 시간을 제시해야 합니다. 매표 시작 시간은 08:00:00 am입니다.시간 형식: HH:MM:SS am|pm.구체적으로 보기 샘플 출력
Sample Input
2
2
20 25
40
1
8
Sample Output
08:00:40 am
08:00:08 am
사고방식: 한 개의 수조로 표를 사는 시간, 한 개의 수조로 현재 사람과 전 사람이 함께 사는 시간을 저장하면 DP 방정식은 쉽게 추측할 수 있다. 그 다음에 모의하는 과정이다. 여기서 나는 먼저 전체 시간, 분, 초를 계산한 다음에 지난 오후의 변동을 확정한 다음에 HH:MM:SS를 6개의 1~9개의 숫자로 각각 출력한다. 코드는 전체적인 난이도가 크지 않다. 나의 코드:
#include
#include
#include
#include
#include
#include
using namespace std;
int t,k,a[2005],d[2005],dp[2005];
int main()
{
cin>>t;
while(t--){
cin>>k;
for(int i=1;i<=k;i++){
scanf("%d",&a[i]);
}
d[1]=a[1];
for(int i=2;i<=k;i++){
scanf("%d",&d[i]);
}
dp[0]=0;
dp[1]=a[1];
for(int i=2;i<=k;i++){
dp[i]=min(dp[i-1]+a[i],dp[i-2]+d[i]);
}
int hh=dp[k]/3600+8;
int mm=(dp[k]%3600)/60;
int ss=(dp[k]%3600)%60;
char noon='a';
if(hh>12){
noon='p';
hh-=4;
}
int one=hh/10;
int two=hh%10;
int thr=mm/10;
int fou=mm%10;
int fiv=ss/10;
int six=ss%10;
printf("%d%d:%d%d:%d%d %cm
",one,two,thr,fou,fiv,six,noon);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
01 가방, 완전 가방, 다중 가방 dp(동적 기획 입문 dp)01 가방은 2진법으로 직접 표시할 수 있지만 데이터 양이 너무 많으면 시간을 초과하는 것이 폭력이다.01 가방의 사상은 바로 이 물품에 대해 내가 넣은 가치가 큰지 안 넣은 가치가 큰지 비교하여 방정식 f[i][v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.