0
已解决
包涵宇
中级天翼
中级天翼
现在有一个初始的空序列,你可以输入指令,去进行一些操作,具体的指令和操作如下所示:
输入指令1:取出当前序列中的最大值,及其下标(下标从1开始),如果序列为空,输出ERROR,若有多条数据,输出第一个
输入指令2:删除当前序列中的最后一个元素,如果序列为空,输出ERROR
输入指令3:输入一个整数m,向序列首插入元素m
输入指令0:程序结束
请根据每次执行的指令给出对应的结果。
输入描述 Input Description
每行一个数,0到3,输入到0终止
输出描述 Output Description
根据输入得到对应的输出
样例输入 Sample Input
1
3 4
3 3
1
2
1
0
样例输出 Sample Output
ERROR
4 2
3 1
0分!!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
while(1){
int l;
cin>>l;
if(l==0)break;
if(l==1){
if(a=="")cout<<"ERROR";
else{
int j,mx=-1;
for(int i=0;i<a.size();i++){
if(a[i]-'0'>mx){
j=i+1;
mx=a[i]-'0';
}
}
cout<<mx<<" "<<j;
}
}
if(l==2){
if(a=="")cout<<"ERROR";
else{
int j=a.size()-1;
a.erase(j,1);
}
}
if(l==3){
string n;
cin>>n;
a.insert(0,n);
}
}
return 0;
}
求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!