2025年东北大学计算机考研复试机试真题(附 AC 代码 + 解题思路)
2026/5/26 22:33:48 网站建设 项目流程

2025年东北大学计算机考研复试机试真题

2025年东北大学计算机考研复试上机真题

历年东北大学计算机考研复试上机真题

历年东北大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

出栈入栈合法性

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

编写算法判断字符串表示的出栈入栈序列是否合法,其中A代表入栈,D代表出栈,仅有这两个字符构成。栈初始为空,例如“ADAADDDD”为非法序列,“ADAADDAD”为合法序列。

输入输出格式
输入描述:

输入一行字符串

输出描述:

如果合法输出yes,不合法输出no

输入输出样例
输入样例#:
ADAADDDD
输出样例#:
no

代码一

  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4. int sum = 0;
  5. string a;
  6. cin >> a;
  7. for (int i = 0; i < a.size(); i++) {
  8. if (a[i] == 'A') {
  9. sum++;
  10. }
  11. else {
  12. sum--;
  13. }
  14. if (sum < 0) {
  15. cout << "no";
  16. return 0;
  17. }
  18. }
  19. if (sum == 0) {
  20. cout << "yes";
  21. }
  22. else {
  23. cout << "no";
  24. }
  25. return 0;
  26. }

代码二

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int num=0;
  6. string str;
  7. cin>>str;
  8. for(int i=0;i<str.size();i++)
  9. {
  10. if(str[i]=='A')
  11. num++;
  12. else
  13. num--;
  14. if(num<0)
  15. {
  16. cout<<"no";
  17. return 0;
  18. }
  19. }
  20. cout<<"yes";
  21. return 0;
  22. }

代码三

  1. #include <iostream>
  2. #include<algorithm>
  3. #include <cstdio>
  4. #include <cmath>
  5. #include <queue>
  6. #include <stack>
  7. #include <map>
  8. int a[100001];
  9. int b[100001];
  10. using namespace std;
  11. int main() {
  12. string a;
  13. cin >> a;
  14. int k = a.length();
  15. int flag = 0;
  16. for (int i = 0; i < k; i++) {
  17. if (a[i] == 'A')flag++;
  18. if (a[i] == 'D')flag--;
  19. if (flag < 0) {
  20. cout << "no";
  21. return 0;
  22. }
  23. }
  24. cout << "yes";
  25. return 0;
  26. }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询