ぎょうれつせつぞく
5847 ワード
【タイトル説明】
n人が蛇口の前に並んで水を受け取っています.もし一人一人が水を受け取る時間がTiであれば、プログラミングしてn人が並んでいる順序を見つけて、n人の平均待ち時間を最小限に抑えてください.
【入力】
共に2行、第1の挙動n(1≦n≦1000);2行目はそれぞれ11人目からn人目までの1人あたりの給水時間T 1,T 2,...,Tnの各データの間に11個のスペースがあることを示す.
【出力】
2行あり、第1の動作は1〜nの配列である.第2の挙動この配列スキームにおける平均待ち時間(出力結果は小数点以下2桁まで正確である).
【入力サンプル】
【出力サンプル】
毎日カードを打つO(∩∩)O~
転載先:https://www.cnblogs.com/sxy2004/p/11483742.html
n人が蛇口の前に並んで水を受け取っています.もし一人一人が水を受け取る時間がTiであれば、プログラミングしてn人が並んでいる順序を見つけて、n人の平均待ち時間を最小限に抑えてください.
【入力】
共に2行、第1の挙動n(1≦n≦1000);2行目はそれぞれ11人目からn人目までの1人あたりの給水時間T 1,T 2,...,Tnの各データの間に11個のスペースがあることを示す.
【出力】
2行あり、第1の動作は1〜nの配列である.第2の挙動この配列スキームにおける平均待ち時間(出力結果は小数点以下2桁まで正確である).
【入力サンプル】
10
56 12 1 99 1000 234 33 55 99 812
【出力サンプル】
3 2 7 8 1 4 9 6 10 5
291.90
;
,
,
,
( )
( , )
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
sort
( )
sort(a+1,a+1+n)
a[1]~a[n] ,
sort ,
;
1 #include
2 #include
3 using namespace std;
4 int main()
5 {
6 int n,m[1100]={0};
7 double t[1100]={0},a[1100]={0},s[1100]={0},ans=0;
8 scanf("%d",&n);
9 for(int i=1;i<=n;i++)
10 {
11 scanf("%lf",&t[i]);
12 a[i]=t[i];
13 }
14 sort(t+1,t+n+1);
15 for(int i=1;i<=n;i++)
16 for(int j=1;j<=n;j++)
17 if(t[i]==a[j]&&m[j]==0)
18 {
19 printf("%d ",j);
20 m[j]=1;
21 break;
22 }
23 printf("
");
24 for(int i=1;i)
25 {
26 s[i]=t[i]+s[i-1];
27 ans+=s[i];
28 }
29 printf("%0.2f",ans/n);
30 return 0;
31 }
毎日カードを打つO(∩∩)O~
転載先:https://www.cnblogs.com/sxy2004/p/11483742.html