ROBOT问题

    xiaoxiao2025-04-28  33

    题目描述: 输入: 样例输入 5 2 1 //n b a 0 1 0 1 0 //0表示黑暗,1表示阳光下

    样例输出 5

    题意:有一段路长度为n,电池b ,和蓄电池 a,0表示黑暗,1表示阳光下,在阳光下蓄电池可以充电但是必须使用电池b才可以行走; 求能走的最长路(合理安排 电池的使用位置)

    #include <iostream> using namespace std; int main() { int n,b,a; int k,sum=0; int m[99999]; while(cin >> n >> b >> a)//b是电池,a是蓄电池能充电 { k=a; sum=0; for(int i=0; i<n; i++) { cin >> m[i]; } for(int i=0; i<n; i++) { if(m[i]==0)//0是黑暗 { if(a>0) { a--; sum++; } else if(b>0) { b--; sum++; } else break; } else//阳光下 { if(a==k)//看蓄电池能不能充电 { a--; sum++; } else if(b>0) { b--; a++; sum++; } else if(a>0) { a--; sum++; } else break; } } cout << sum << endl; } return 0; }

    哈哈哈哈

    最新回复(0)