版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34898866/article/details/80869456
试题:https://blog.csdn.net/u014552756/article/details/55504934
1
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
const int maxn = 1005;
int a[maxn];
int ind = 0;
int n;
int main()
{
int cnt = 0; //记录队列里最多有多少个数
while(~scanf("%d", &n))
{
if(cnt==0)
{
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<n<<endl;
}
else if(cnt==1)
{
if(a[0]==n)
{
cout<<"输入:"<<n<<" 输出:"<<n<<endl;
}
else{
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<a[1]<<","<<a[0]<<endl;
}
}
else if(cnt==2){
if(a[0]==n||a[1]==n)
{
cout<<"输入:"<<n<<" 输出:"<<a[1]<<","<<a[0]<<endl;
}
else {
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<a[2]<<","<<a[1]<<","<<a[0]<<endl;
}
}
else{
int l1 = (ind-1+maxn)%maxn;
int l2 = (ind-2+maxn)%maxn;
int l3 = (ind-3+maxn)%maxn;
if(a[l1]==n||a[l2]==n||a[l3]==n)
{
cout<<"输入:"<<n<<" 输出:"<<a[l1]<<","<<a[l2]<<","<<a[l3]<<endl;
}
else{
a[ind]=n;
cout<<"输入:"<<n<<" 输出:"<<a[ind]<<","<<a[l1]<<","<<a[l2]<<endl;
ind = (ind+1)%maxn;
}
}
}
}
2
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
const int maxn = 1005;
int a[maxn];
int ind = 0;
int n;
int main()
{
int cnt = 0; //记录队列里最多有多少个数
while(~scanf("%d", &n))
{
if(cnt==0)
{
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<n<<endl;
}
else if(cnt==1)
{
if(a[0]==n)
{
cout<<"输入:"<<n<<" 输出:"<<n<<endl;
}
else{
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<a[1]<<","<<a[0]<<endl;
}
}
else if(cnt==2){
if(a[0]==n)
{
swap(a[0], a[1]);
cout<<"输入:"<<n<<" 输出:"<<a[1]<<","<<a[0]<<endl;
}
else if(a[1]==n)
{
cout<<"输入:"<<n<<" 输出:"<<a[1]<<","<<a[0]<<endl;
}
else {
cnt++;
a[ind++]=n;
cout<<"输入:"<<n<<" 输出:"<<a[2]<<","<<a[1]<<","<<a[0]<<endl;
}
}
else{
int l1 = (ind-1+maxn)%maxn;
int l2 = (ind-2+maxn)%maxn;
int l3 = (ind-3+maxn)%maxn;
if(a[l1]==n)
{
cout<<"输入:"<<n<<" 输出:"<<a[l1]<<","<<a[l2]<<","<<a[l3]<<endl;
}
else if(a[l2]==n)
{
swap(a[l1], a[l2]);
cout<<"输入:"<<n<<" 输出:"<<a[l1]<<","<<a[l2]<<","<<a[l3]<<endl;
}
else if(a[l3]==n)
{
swap(a[l1], a[l3]);
cout<<"输入:"<<n<<" 输出:"<<a[l1]<<","<<a[l2]<<","<<a[l3]<<endl;
}
else{
a[ind]=n;
cout<<"输入:"<<n<<" 输出:"<<a[ind]<<","<<a[l1]<<","<<a[l2]<<endl;
ind = (ind+1)%maxn;
}
}
}
}
3
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
char s[110];
int main()
{
while(gets(s))
{
int len = strlen(s);
int ans = 0, cnt =0;
for(int i=0;i<len;i++)
{
if(s[i]=='(')
{
cnt++;
ans = max(ans, cnt);
}
else if(s[i]==')')
{
cnt--;
}
}
cout<<"输入:"<<s<<endl;
cout<<"输出:"<<ans<<endl;
}
}