Codeforces Round 866 (Div. 2)

这篇文章是一个关于编程竞赛的问题,描述了男孩Yura想要改名并选择一个仅包含^和_字符的名字,且每个字符都必须在至少一个笑脸^_^或^^中。题目要求计算出使名字符合这一条件所需的最小插入操作数。给定一个字符串,程序需要找出需要添加多少个字符才能使得所有字符都在笑脸内。
摘要由CSDN通过智能技术生成

题目:A. Yura's New Name

After holding one team contest, boy Yura got very tired and wanted to change his life and move to Japan. In honor of such a change, Yura changed his name to something nice.

Fascinated by this idea he already thought up a name s consisting only of characters "_" and "^". But there's a problem — Yura likes smiley faces "^_^" and "^^". Therefore any character of the name must be a part of at least one such smiley. Note that only the consecutive characters of the name can be a smiley face.

More formally, consider all occurrences of the strings "^_^" and "^^" in the string s. Then all such occurrences must cover the whole string s, possibly with intersections. For example, in the string "^^__^_^^__^" the characters at positions 3,4,9,103,4,9,10 and 1111 are not contained inside any smileys, and the other characters at positions 1,2,5,6,71,2,5,6,7 and 88 are contained inside smileys.

In one operation Jura can insert one of the characters "_" and "^" into his name s(you can insert it at any position in the string). He asks you to tell him the minimum number of operations you need to do to make the name fit Yura's criteria.

Input

Each test consists of multiple test cases. The first line contains a single integer t(1≤t≤100) —the number of test cases. The description of test cases follows.

The first and only line of each test case contains a single string s (1≤|s|≤100), consisting of characters "_" and "^",  — the name to change.

Output

For each test case, output a single integer — the minimum number of characters you need to add to the name to make it fit for Yura. If you don't need to change anything in the name, print 00.

Example

input

7

^______^

___^_^^^_^___^

^_

^

^_^^^^^_^_^^

___^^

_

output

5
5
1
1
0
3
2

Note

In the first test case, you can get the following name by adding 55 characters:

^_^_^_^_^_^_^

In the third test case, we can add one character "^" to the end of the name, then we get the name:

^_^

In the fourth test case, we can add one character "^" to the end of the name, then we get the name:

^^

In the fifth test case, all of the characters are already contained in smiley faces, so the answer is 00.

In the seventh test case, you can add one character "^" at the beginning of the name and one character "^" at the end of the name, then you get the name:

^_^

代码:

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	cin >> n;
	string s;
	while(n--)
	{
		cin >> s;
		int a = 0;
		if(s[0] == '_') a ++;
		if(s[0] == '^' && s.size() == 1) a++;
		if(s[s.size()-1] == '_' ) a++;
		for(int i = 0;i < s.size();i++)
		{
			if(s[i] == '_' && s[i+1] == '_') a++;
		}
		cout<<a<<endl;
	}
	
	return 0;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值