2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) 题解 寒假自训第四场

补题困难户先写一个题解.....(有时间再补)

H. House Lawn

题意:有n个机器,每个机器有如下指标:价格p,修草速度c平米一分钟(可以修0.1分钟再去充电),满电工作时长t,充满电时长r(如果本身有9/10的电,充满时长只要r/10),每个机器人刚买了都是满电,你的目标是每周都修一次e平米的草,每周时长time=10080分钟,求所有能完成任务中最便宜的机器,如果多个机器一样价格,按输入顺序输出。

思路:这么判断每个机器是否能完成任务?我们先满打满算修这么多草: res=time/(t+r)*t*c,如果res

#include
#define db double
#define ll long long
using namespace std;
const int maxn=1e6+6,inf=1e9;
char str[1005];
struct node
{
	char s[65];
	int id,p;
	bool operator<(const node&t)const
	{
		if(p==t.p)return id>e>>m;
	getchar();
	for(int i=1;i<=m;i++)
	{
		gets(str);
		gao(i,pri,c,t,r);
		v=n/(t+r)*t*c;
		if(v=e)
		{
			a[++cnt].p=pri; a[cnt].id=i;
			int len=strlen(str),j=0;
			while(str[j]!=',')
			a[cnt].s[j]=str[j],j++;
			a[cnt].s[j]='\0';
		}
	}
	sort(a+1,a+1+cnt);
	if(cnt==0)puts("no such mower");
	else
	{
		int i=1;
		while(1)
		{
			printf("%s\n",a[i++].s);
			if(i>cnt||a[i].p>a[i-1].p)break;	
		}
	}
}

 

你可能感兴趣的:(比赛----gym)