1259 분 시간 시스템
묘사 하 다.
시간 대별 시스템 에서 스케줄 링 프로 세 스 는 CPU 를 가장 골 치 아 프 게 하 는 문제 이다.현재 실행 을 기다 리 는 프로 세 스 가 n 개 있 습 니 다. 모든 프로 세 스 의 실행 시간 은 Ti 입 니 다. CPU 가 프로 세 스 의 실행 순 서 를 결정 하도록 도와 주 십시오. 이 프로 세 스 의 최 단 대기 시간 을 최소 화 하 십시오.(이 시스템 의 CPU 스케줄 링 은 스케줄 링 을 중단 할 수 없습니다. 즉, 프로 세 스 를 실행 하기 로 결정 하면 프로 세 스 를 완료 해 야 합 니 다.)평균 대기 시간: 준비 대기 열 에서 기다 리 는 시간 과 프로 세 스 총 수 를 나 눕 니 다.예 를 들 어 세 개의 프로 세 스 가 있 는데 A, B, C 는 각각 2ms, 3ms 와 1ms 가 필요 하 다.ABC 순서에 따라 스케줄 을 잡 으 면 A 는 0ms 를 기 다 려 야 하고 B 는 2ms 를 기 다 려 야 하 며 C 는 5ms 를 기 다 려 야 한다.이때 의 평균 대기 시간 은 (0 + 2 + 5) / 3 이다.BAC 순서에 따라 스케줄 을 잡 으 면 B 는 0ms 를 기 다 려 야 하고 A 는 3ms 를 기 다 려 야 하 며 C 는 5ms 를 기 다 려 야 한다. 이때 의 평균 대기 시간 은 (0 + 3 + 5) / 3 이다.
입력
2n + 1 줄 이 있 고 첫 번 째 행 위 는 int 값 이 며 아래 n 조 테스트 데이터 가 있 음 을 나타 낸다.다음은 모두 2n 줄 이 있 습 니 다. 각 조 의 테스트 배열 은 두 줄 이 있 습 니 다. 첫 번 째 행위 m (m < 100) 는 모두 m 개의 예약 이 필요 한 프로 세 스 가 있 음 을 나타 냅 니 다.두 번 째 줄 은 m 개의 정수 가 있 는데 각각 프로 세 스 가 완성 하 는 데 필요 한 밀리초 수 [tex] T 를 나타 낸다.1[/tex],[tex]T_2[/tex],……,[tex]T_m[/tex] ([tex]T_i[/tex]<1000)。
출력
각 그룹의 테스트 데이터 출력 두 줄: 첫 번 째 행 위 는 하나의 스케줄 링 순서, 즉 1 에서 m 까지 의 배열 (두 프로 세 스 의 완성 시간 이 같 으 면 그들의 번호 에 따라 작은 순서 로 출력).두 번 째 행 위 는 이러한 스케줄 링 방안 에서 의 평균 대기 시간 (출력 결 과 는 소수점 뒤의 두 자리 까지 정확 하 다).
샘플 입력
1
10
56 12 1 99 1000 234 33 55 99 812
샘플 출력
3 2 7 8 1 4 9 6 10 5
291.90
이 문 제 는 명백 한 욕심 이다.
#include<stdio.h>
main()
{ int i,t,j,k;
int a[101];
int b[101];
int c[101];
int temp;
int te,number;
int temper;
double sum;
scanf("%d",&number);
for (te=1;te<=number;te++)
{ scanf("%d",&temper);
for(i=0;i<101;i++)
a[i]=0;
k=0;
sum=0;
for(i=0;i<temper;i++)
{
scanf("%d",&a[i]);
b[k++]=a[i];
}
for(i=0;i<temper;i++)
for(j=i+1;j<temper;j++)
{
if(a[i]>a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
for(k=0;k<temper;k++)
{
for(j=0;j<temper;j++)
if(b[j]==a[k])
{
c[k]=j+1;
b[j]=-1;
j=0;
break;
}
}
for(i=0;i<temper-1;i++)
printf("%d ",c[i]);
printf("%d
",c[temper-1]);
for(j=0;j<temper-1;j++)
{ for(i=0;i<=j;i++)
sum+=a[i];
}
printf("%.2lf
",sum/temper);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.