其他分享
首页 > 其他分享> > CF32B Borze(模拟+字符串)(大佬勿喷)

CF32B Borze(模拟+字符串)(大佬勿喷)

作者:互联网

题目描述

Ternary numeric notation is quite popular in Berland. To telegraph the ternary number the Borze alphabet is used. Digit 0 is transmitted as «.», 1 as «-.» and 2 as «--». You are to decode the Borze code, i.e. to find out the ternary number given its representation in Borze alphabet.

输入格式

The first line contains a number in Borze code. The length of the string is between 1 and 200 characters. It's guaranteed that the given string is a valid Borze code of some ternary number (this number can have leading zeroes).

输出格式

Output the decoded ternary number. It can have leading zeroes.

题意翻译

题面描述

三进制数字符号在Berland很受欢迎。如果用borze编码表示电报的三进制数。数字 0,1,20,1,2 分别被作为.-.--。你需要为borze编码解码。(把borze编码转换为三进制数)。

输入格式

第一行包含在Borze编码。字符串的长度介于 11 到 200200 个字符之间。这是保证给定的字符串是一个有效的一些三元数borze编码(这个数可能有前导零)。

输出格式

一个三进制数(如果有前导零要输出)。

输入输出样例

输入 #1

.-.--

输出 #1

012

输入 #2

--.

输出 #2

20

输入 #3

-..-.--

输出 #3

1012

CODE

#include <iostream>
using namespace std;

string str;

void zero(){
	cout << 0;
}

void one(){
	cout << 1;
}

void two(){
	cout << 2;
}

int main(){
	cin >> str;
	for(int i=0; i<str.size(); i++){
		if(str[i] == '.') zero();
		else if(str[i] == '-'){
			if(str[i+1] == '-') two();
			else one();
			str[i+1] = 'J';
		}
	}
	return 0;
}

AC记录

标签:输出,Borze,进制,number,borze,ternary,大佬,CF32B
来源: https://blog.csdn.net/m0_61067261/article/details/120801832