GESP4级考试语法知识(贪心算法(二))

排队接水2代码:

cpp 复制代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct people
{
	int num;
	int time;
};
people s[1001];
int n,r,a[1001];
double sum,ave;
bool cmp(people x,people y)
{
	return x.time<y.time;
}
int main()
{
	cin>>n>>r;
	int min=0,j=0;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].time;
		s[i].num=i;
	}
	sort(s+1,s+n+1,cmp);
	
	for(int i=1;i<=n;i++)
	{
		j++;
		if(j==r+1) j=1;
		a[j]+=s[i].time;
		min+=a[j];
	}
    cout<<min<<endl;
 	return 0;
}

均分纸牌代码:

cpp 复制代码
#include<iostream>
using namespace std;
int n,a[110];
int sum,ave,ans;
int main()
{
	cin>>n;
	
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	ave=sum/n;
	for(int i=1;i<=n-1;i++)
	{
		if(a[i]==ave) continue;
		int t=ave-a[i];
		a[i+1]-=t;
		ans++;
	}
	cout<<ans<<endl;
 	return 0;
}

删数问题代码1:

cpp 复制代码
#include<iostream>
using namespace std;
string s;
int n,k,mark=0,temp,flag=0;
int find_min(int l,int r)
{
	char minc=s[l];
	mark=l+1;
	for(int i=mark;i<=r;i++)
	{
		if(s[i]<minc)
		{
			minc=s[i];
			mark=i+1;
		}
	}
	return minc-'0';
}
int main()
{
	cin>>s>>k;
	n=s.length();
	for(int i=0;i<n-k;i++)
	{
		temp=find_min(mark,k+i);
		if(flag==0&&temp==0) continue;
		flag=1;
		cout<<temp;
		
	}
    if(flag==0) cout<<0;
 	return 0;
}

删数问题代码2:

cpp 复制代码
#include<iostream>
using namespace std;
int s,len;
string n;
int main()
{
	cin>>n;
	cin>>s;
	len=n.length();
	for(int i=1;i<=s;i++)   //一共要删除 s个字符
	{
		for(int j=0;j<s+i;j++) //从串首开始找
		if(n[j]>n[j+1])    //找到符合条件的字符
		{
			for(int k=j;k<len-1;k++)
				n[k]=n[k+1];
			break;
		}
		len--;
	}
	int j=0;
	int m=len;
	int flag=0;
	for(int i=0;i<len;i++)
	{
		if(n[i]=='0'&&flag==0) continue;
		flag=1;
		cout<<n[i];
	}
	if(flag==0) cout<<'0'<<endl;
 	return 0;
}
相关推荐
CHANG_THE_WORLD5 分钟前
C++ 一维、二维、三维数组完整演示
开发语言·c++
小O的算法实验室5 分钟前
2026年IEEE IOTJ SCI2区TOP,面向关键节点感知的灾害区域无人机集群路径规划,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
闻缺陷则喜何志丹11 分钟前
【构造】P9215 [入门赛 #11] [yLOI2021] 扶苏与 1 (Hard Version)|普及+
c++·算法·洛谷·构造
~央千澈~16 分钟前
抖音弹幕游戏开发之第14集:添加更多整蛊效果·优雅草云桧·卓伊凡
开发语言·python·游戏
Neil今天也要学习20 分钟前
永磁同步电机控制算法--基于数据驱动的超局部无模型预测电流控制MFPC及改进
单片机·嵌入式硬件·算法
航哥的女人24 分钟前
setsockopt()详解
c++·tcp/ip
阿猿收手吧!35 分钟前
【Linux/C++】线程切换与协程切换,协程池
linux·c++
百锦再1 小时前
Java synchronized关键字详解:从入门到原理(两课时)
java·开发语言·struts·spring·kafka·tomcat·maven
油丶酸萝卜别吃1 小时前
什么是 Java 内存模型(JMM)?
java·开发语言
量子炒饭大师1 小时前
【C++入门】Cyber神经的义体插件 —— 【类与对象】内部类
java·开发语言·c++·内部类·嵌套类