⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3308316_ce.cpp

📁 部分PKU上的源码
💻 CPP
字号:
#include<iostream>
using namespace std;
int lake[2][26],result[26],temp[2][26],tempx,road[26],time,t,i,j,k,n,ca,max,maxnum,fish;
void reflesh(int x)
{
	if(fish>result[0]) 
	{
		result[0]=fish;
		for(k=1;k<=x;k++)result[k]=temp[1][k];
	}
	if(fish==result[0]) 
	{
		for(k=1;k<=n;k++) 
		{
			if(result[k]>temp[1][0]) return;
			if(result[k]<temp[1][0])  
			{
				result[0]=fish;
				for(k=1;k<=x;k++) result[k]=temp[1][k];
				return;
			}
		}
	}
}

void get(int x)
{
	t=1;
	t+=road[x-1];fish=0;
	for(i=0;i<26;i++) temp[0][i]=0,temp[1][i]=0;
	for(i=1;i<=x;i++) temp[0][i]=lake[0][i];
	for(;t<=time;t++)
	{
		max=0,maxnum=0;
		for(i=1;i<=x;i++) {if(temp[0][i]>max) maxnum=i,max=temp[0][i];}
		if(maxnum==0) {temp[1][1]+=time-t,t=time;}
		temp[0][maxnum]-=lake[1][maxnum];temp[1][maxnum]++;
		fish+=max;
	}
	reflesh(x);
}
int main()
{
	ca=0;cin>>n;
	while(n)
	{
		ca++;
		memset(lake,0,52);
		memset(result,0,26);
		memset(road,0,26);
		cin>>time;time*=12;t=0;
		for(j=1;j<=n;j++) cin>>lake[0][j];
		for(j=1;j<=n;j++) cin>>lake[1][j];
		for(j=1;j<n;j++) cin>>tempx,road[j]=tempx+road[j-1];
		for(j=1;j<=n;j++) get(j);
		if(ca!=1) cout<<endl;
		cout<<result[1]*5;
		for(j=2;j<=n;j++) cout<<","<<result[j]*5;
		cout<<endl;
		cout<<"Number of fish expected: "<<result[0];
		cin>>n;
	}
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -