水題得分...

LLXL發表於2018-06-02

https://vjudge.net/problem/UVA-1585

題目大概意思是:給出一個由O和X組成的串(長度為1~80),統計得分。每一個O的得分為目前連續出現的O的個數,X的得分為0,例如:OOXXOXXOOO的得分為1+2+0+0+1+0+0+1+2+3.

思路:因為題目是要求連續的O,所以遇到X,就要重新統計O的個數;

程式碼:

#include<iostream>
#include<string.h>
using namespace std;
char s[81];
int main()
{
	int n;
	cin >> n;
	while (n--)
	{
		int sum = 0;
		cin >> s;
		int temp = 0;
		for (int i = 0; i < strlen(s); i++)
		{
				temp++;
			if (s[i] == 'X')//遇到X,就要從0重新開始;
				temp = 0;
			sum += temp;
		}
		cout << sum << endl;
	}
	return 0;
}


相關文章