2 条题解
-
2
一道比较简单的模拟题,从后往前进行遍历,当遇到删除字符 和 时,记录下来,当遇到其他字符时根据记录情况进行删除。
#include <stdio.h> #include <iostream> #include <string.h> using namespace std; const int N = 1e6 + 9; char ai[N]; int main() { int t, sum1, sum2; scanf("%d", &t); while(t --) { sum1 = 0; sum2 = 0; scanf("%s", ai); int len = strlen(ai); for(int i = len - 1; i >= 0; i --) { if(ai[i] == 'b') sum1 ++; if(ai[i] == 'B') sum2 ++; if(sum1 > 0 && ai[i] >= 'a' && ai[i] <= 'z' && ai[i] != 'b') { ai[i] = '0'; sum1 --; } if(sum2 > 0 && ai[i] >= 'A' && ai[i] <= 'Z' && ai[i] != 'B') { ai[i] = '0'; sum2 --; } } for(int i = 0; i < len; i ++) { if(ai[i] != '0' && ai[i] != 'b' && ai[i] != 'B') { printf("%c", ai[i]); } } printf("\n"); } return 0; }
信息
- ID
- 1017
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 61
- 已通过
- 18
- 上传者