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;
}
相关推荐
左手の明天19 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
nhdh20 小时前
B+树揭秘:MySQL索引核心原理全解析
数据结构·b树·mysql
海上小飞龙20 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
青少儿编程课堂20 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i20 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
狗凯之家源码网20 小时前
淘客口令落地页生成器 PHP 版深度评测
开发语言·php
画绛集美术20 小时前
本地化部署LLM用于美术史问答:一间美术教室的实践记录
开发语言·php
八解毒剂21 小时前
【计组】中央处理器CPU
java·开发语言·计算机组成原理
乐迪信息21 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
FakeOccupational21 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记