问题 5182 --选举会长

5182: 选举会长★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 176  解决: 76
[提交][状态][命题人:]

题目描述

[C/C++]

#include <bits/stdc++.h>
using namespace std;
const int N = 102;
char s[22], queA[N], queB[N];
int headA, headB, tailA, tailB, n;
int main() 
{
	cin >> s;
	n = ______(1)______;
	for (int i = 0; i < n; i++) 
	{
		if (___(2)___) 
		{     
			queA[tailA] = i;
			tailA++;
		} 
		else 
		{
			queB[tailB] = i;
			tailB++;
		}
	}
	while (_____(3)_____) 
	{    
		if (queA[headA] < queB[headB]) 
		{
			queA[tailA] = queA[headA] + n;
			tailA++;
		} 
		else 
		{
			queB[tailB] = queB[headB] + n;
			tailB++;
		}
		headA++;
		headB++;
	}
	if (_____(4)_____) 
		cout << 'B';
	else 
		cout << 'A';
	return 0;
}


[Python]

s=input()
queA=[""]*100
queB=[""]*100
headA=headB=0
tailA=tailB=0
n=len(s)
for i in range(n):
    if _____(1)______:
        queA[tailA]=i
        tailA+=1
    else:
        queB[tailB]=i
        tailB+=1
while _____(2)_________:
    if queA[headA]<queB[headB]:
        queA[tailA]=queA[headA]+n
        tailA+=1
    else:
        queB[tailB]=queB[headB]+n
        tailB+=1
    headA+=1; headB+=1
if _____(3)_______:
    print('B')
else:
    print('A')   

输入

输出

输出每个选项的答案即可,格式如下(本题答案只针对C/C++语言):

#include<iostream>
using namespace std;
int main()
{
	cout<<'A'<<endl;
	cout<<'A'<<endl;
	cout<<'A'<<endl;
	cout<<'A'<<endl;
	cout<<'A'<<endl;
	cout<<'A'<<endl;
    return 0;
}


提示

1)第1空的答案为__________

A.   len(s)      B.  strlen(s)       C. s.size()       D. s.length()

2)第2空的答案为__________

A.   s[i]=="A"      B.  s[i]=="B"       C. s[i]=='A'       D. s[i]=='B'

3)第3空的答案为__________

A.   headA==tailA || headB==tailB      B.  headA==tailA && headB==tailB       

C.   headA!=tailA || headB!=tailB        D. headA!=tailA && headB!=tailB

4)第4空的答案为__________

A.   headA==tailA      B.  headB==tailB        C. headA==0       D. headB==0 

5)如果输入为AAAAABBBBBBBB,则输出的答案为__________

A.   A      B.  B        C.  BBB      D.  AB

6)如果输入为BABABAAABAABB,则输出的答案为__________

A.   A      B.  B        C.  BBB      D.  AB

来源

[提交][状态]