Codeforces Round #552 (Div. 3)-D-Walking Robot-(贪心)
2024-09-04 22:42:06
http://codeforces.com/contest/1154/problem/D
解题:
1.无光的时候优先使用太阳能电池。
2.有光的时候
(1)太阳能电池没满电,让它充,使用普通电池
(2)太阳能电池满电,使用太阳能电池
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<string>
#include<vector>
#include<iostream>
#include<cstring>
#include<set>
#include<queue>
#define inf 0x3f3f3f3f
#define ll long long
using namespace std; int n,a,b;
int s[]; int main()
{
while(scanf("%d%d%d",&n,&a,&b)!=EOF)///路段 普通电池 太阳能电池
{
for(int i=;i<=n;i++)
scanf("%d",&s[i]);
int maxx=b;
int sum=;
for(int i=;i<=n;i++)
{
if(s[i]==)///无光
{
if(b)///优先使用太阳能电池
{
b--;
sum++;
}
else if(a)///其次使用普通电池
{
a--;
sum++;
}
else
break;
}
else ///有光
{
if(b==maxx)///太阳能满了就优先使用它
{
b--;
sum++;
}
else if(a)///太阳能没满就让太阳能充电,用普通电池
{
b++;
sum++;
a--;
}
else if(b)///太阳能没满,但是普通电池已经用完了
{
b--;
sum++;
}
else
break;
}
}
printf("%d\n",sum);
}
return ;
}
最新文章
- Linux shell编程
- CodeForces 520B Two Buttons(用BFS)
- java面试宝典(蓝桥学院)
- Cheatsheet: 2014 07.01 ~ 07.31
- Java中this,static,super及finalkeyword和代码块
- SAP 使用SQL Trace(ST05)
- Linux系统源码安装过程中的prefix选项
- xssgame挑战wp
- 解决Navicat远程连接MySQL出现 10060 unknow error
- 对display主要属性的探究,以及vertical-aligin
- oracle查询重复数据方法
- Php文件上传类class.upload.php
- 消息队列系统 -- RabbitMQ
- Mysql(五) JDBC
- kubernetes 一些基本的概念
- Spring框架的AOP的底层实现
- 调试cnn-Sentence-Classifier遇到的问题
- 用Qt制作的Android独立游戏《吃药了》公布
- eclipse git 开发操作流程
- Sql_server_2014创建数据库自动备份