本文主要是介绍rqn 51 乒乓球(字符串处理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目连接:http://www.rqnoj.cn/Problem_51.html
解题思路:一次读入一个字符,对每个字符进行处理,注意的是获胜的条件除了一方到达21 或11 球之外,还有需要超过两球,就是说20:21不算分出胜负,20:22才算。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const int N = 10005;int main() {char c;int cntO[N][2], cntT[N][2];int nO = 0, nT = 0;memset(cntO, 0, sizeof(cntO));memset(cntT, 0, sizeof(cntT));while (scanf("%c", &c) == 1) {if (c == 'E') break;if (c == 'W') {cntT[nT][0]++;cntO[nO][0]++;}else if (c == 'L') {cntT[nT][1]++;cntO[nO][1]++;}if ((cntO[nO][0] >= 11 || cntO[nO][1] >= 11) && abs(cntO[nO][0] - cntO[nO][1]) > 1)nO++;if ((cntT[nT][0] >= 21 || cntT[nT][1] >= 21) && abs(cntT[nT][0] - cntT[nT][1]) > 1)nT++;}for (int i = 0; i <= nO; i++)printf("%d:%d\n", cntO[i][0], cntO[i][1]);printf("\n");for (int i = 0; i <= nT; i++)printf("%d:%d\n", cntT[i][0], cntT[i][1]);return 0;
}
这篇关于rqn 51 乒乓球(字符串处理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!