질문도
모두 얼마나 비싼 것을 도시 알고있는 마을에 살고 각 사람을. 도시에 살고있는 모든 사람은 모든 마을에 얼마나 비싼 것을 알고있다. 앨리는 메이크업 돈에 이러한 관찰을 사용하기로 결정했다. 그녀는, 싼 물건을 구입 장소의 반대 유형에 갈 수있는 도시 나 마을에서 시작됩니다 (그녀가 도시에서 시작하는 경우, 그것은 마을, 또는 마을에서 시작하는 경우, 그것은 도시), 그럼 돈 판매 알아, 그래서 다음 새로운 장소 뭔가 (또는 물건의 반대 유형)을 구입합니다. 그녀는 곧 그녀가 그들을 속이는 된 방법, 주민들이 생각하는 도시 나 마을을 떠나 그녀가 두 번 같은 장소에 갈 수 있도록, 그녀의 화가였다. 받을 것이다이 전략을 사용하는 경우 엘리 그녀는 실제 수익을 예측할 수 없습니다. 그래서 그녀는 많은 장소로 이동하기로 결정했다. 물론, 그녀는 농촌에 대한 액세스를 전환하고 도시를 방문,하지만 그녀는 두 번 같은 장소를 방문 할 수 있어야합니다. 이 시스템은 엘리 접근 가능한 모든 위치를 설명하는 문자열의 위치를 제공합니다. 도시는 "C"에 대한, 경우 i 번째 장소, 마을, i 번째 문자 "V"의 경우. 규칙에 따르면, 그녀는 액세스 할 수있는 사이트의 가장 큰 수를 반환합니다.
입력
된 데이터의 다수의 세트.
데이터의 각 세트 (100)의 길이 (1)의 문자열만을 'V'및 'C'자 두.
출력
샘플은 입력
원시
CVVVC
VVV
VVVVCVV
CVCVCVC
V
출력 샘플
원시
5
1
3
7
1
타이틀이 도시에 갈 사람이 필요 - 농촌 - 도시 - 앞으로 농촌 교류 뒷면은 여러 도시까지에 물었다.
도시는 도시와 농촌의 최소 수, 판단 조건과 관련된 최대에 갈 수 있기 때문에两个数字之间关系
.
N, N + 1, 최대 값, 2N + 1,
N 및 N 최대 2N,
N + S (임의의 수) 및 N, 2N + 1의 최대 값은,
디지털이면 0, 최대 값이 하나만있다.
if (c == 0 || v == 0)
ans = 1;
else if (c == v)
ans = 2 * v;
else if (c >= v + 1)
ans = 2 * v + 1;
전체 코드
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main(void)
{
string str;
string a[110];
int c, v,ans ,t;
while (cin >> str)
{
ans = 0;
c = 0, v = 0;
for (int i = 0; i < str.size(); i++)
if (str[i] == 'C')
c++;
else
v++;
if (c <= v)
{
t = v;
v = c;
c = t;
}
if (c == 0 || v == 0)
ans = 1;
else if (c == v)
ans = 2 * v;
else if (c >= v + 1)
ans = 2 * v + 1;
cout << ans << endl;
}
return 0;
}