3474:练85.2 排队接水

3474:练85.2 排队接水

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

练 85.2 排队接水

1319:【例6.1】排队接水

信息学奥赛一本通(C++版)在线评测系统

信息学奥赛一本通1319:【例6.1】排队接水

信息学奥赛一本通1319:【例6.1】排队接水_哔哩哔哩_bilibili

1319:【例6.1】排队接水

1319:【例6.1】排队接水_哔哩哔哩_bilibili

74 贪心 排队接水

A25 贪心算法 P1223 排队接水_哔哩哔哩_bilibili

第24集 | 【信息学奥赛一本通-编程启蒙】3474练85.2 排队接水

https://www.douyin.com/video/7319677791484661042




/*
1319:【例6.1】排队接水(2022.07.23)方法1 
http://ybt.ssoier.cn:8088/problem_show.php?pid=1319
https://blog.csdn.net/CaOOvO/article/details/122465131
*/
#include<iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int a[1000+10],b[1000+10];
int main()
{
    int i,n,f; 
    double s=0.0;
    cin>>n;
    for(i=0;i<n;i++)
	{ 
        cin>>a[i];
        b[i]=i+1; 
    }
    
	for(i=0;i<n;i++)
	{
        for(int j=n-1;j>0;j--)
		{
            if(a[j]<a[j-1])
			{
                swap(a[j],a[j-1]);
                swap(b[j],b[j-1]);
            }
        }
    }//快速排序 
    
	for(i=0;i<n;i++)
	{
        cout<<b[i]<<' ';
    }
    cout<<endl;
    for(i=0;i<n;i++)
	{
        a[i]*=(n-i-1);
        s+=a[i];
    }
    s/=n;
    
	cout<<fixed<<setprecision(2)<<s;
	//题目要求:(输出结果精确到小数点后两位) ,所以用fixed+setprecision解决 
    //printf("%.2lf\n",s);
	
	return 0; 
}


/*
1319:【例6.1】排队接水
http://ybt.ssoier.cn:8088/problem_show.php?pid=1319
*/
#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
struct people{
    int num;
    int time;
}arr[5000];
bool cmp(people a,people b)
{
    return a.time<b.time;
}
int main()
{
    int n;
    int i;
    double time_sum=0,time_average;
    cin>>n;
    for(i=1;i<=n;i++)	
    {
        cin>>arr[i].time;
        arr[i].num=i;
    }
    sort(arr+1,arr+1+n,cmp);
    
    for(i=1;i<=n;i++)	
    {
        cout<<arr[i].num<<" ";
    	if(n-i>=1)	time_sum+=arr[i].time*(n-i);
    }    
    time_average=time_sum/n;
    
    cout<<endl;
    cout<<setiosflags(ios::fixed)<<setprecision(2);
    cout<<time_average<<endl;
        
    return 0;
}


#include <bits/stdc++.h>
using namespace std;
struct node{
	int b,num;
};
node a[1010];
int n,i,j;
double ans;
bool cmp(node x,node y){
	return x.b<y.b;
}
int main()
{
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>a[i].b;
		a[i].num=i;
	}
	sort(a+1,a+n+1,cmp);
	for(i=1;i<=n;i++){
		cout<<a[i].num<<" ";
	}cout<<endl;
	for(j=n-1;j>=1;j--){
		i=n-j;
		ans+=a[i].b*j;
	}
	printf("%.2lf",ans/n);
	return 0;
}



 




《信息学奥赛一本通 编程启蒙C++版》3301-3305(5题)

《信息学奥赛一本通 编程启蒙C++版》3301-3305(5题)_3303:【例51.3】 平移数据-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3306-3310(5题)

《信息学奥赛一本通 编程启蒙C++版》3306-3310(5题)_3306:练51.3 纸杯猜数-CSDN博客

《信息学奥赛一本通 编程启蒙 C++版》 3301-3310(10题)

《信息学奥赛一本通 编程启蒙 C++版》 3301-3310(10题)_信息学奥赛一本通c++答案-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3311-3315(5题)

《信息学奥赛一本通 编程启蒙C++版》3311-3315(5题)_3315:练53.2 小明做题-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3316-3320(5题)

《信息学奥赛一本通 编程启蒙C++版》3316-3320(5题)_【例54.2】 学生组队-CSDN博客

 

《信息学奥赛一本通 编程启蒙C++版》3291-3295(5题)

《信息学奥赛一本通 编程启蒙C++版》3291-3295(5题)_c++信奥一本通3291-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3296-3300(5题)

《信息学奥赛一本通 编程启蒙C++版》3296-3300(5题)_3299:练50.2 卡牌游戏 ii-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3291-3295(5题)

《信息学奥赛一本通 编程启蒙C++版》3291-3295(5题)_c++信奥一本通3291-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3296-3300(5题)

《信息学奥赛一本通 编程启蒙C++版》3296-3300(5题)_3299:练50.2 卡牌游戏 ii-CSDN博客

 

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值