Phone numbers

Posted 给杰瑞一块奶酪~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Phone numbers相关的知识,希望对你有一定的参考价值。

Phone number in Berland is a sequence of n digits. Often, to make it easier to memorize the number, it is divided into groups of two or three digits. For example, the phone number 1198733 is easier to remember as 11-987-33. Your task is to find for a given phone number any of its divisions into groups of two or three digits.

Input

The first line contains integer n (2 ≤ n ≤ 100) — amount of digits in the phone number. The second line contains n digits — the phone number to divide into groups.

Output

Output any of divisions of the given phone number into groups of two or three digits. Separate groups by single character -. If the answer is not unique, output any.

Example
Input
6
549871
Output
54-98-71
Input
7
1198733
Output
11-987-33

代码:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>

using namespace std;

int main()
{
    int n;
    char s[105];
    scanf("%d",&n);
    scanf("%s",s);
    int d = n % 2;
    for(int i = 0;i < n;i += 2)
    {
        if(i)putchar(-);
        if(d > 0)printf("%c%c%c",s[i ++],s[i + 1],s[i + 2]);
        else printf("%c%c",s[i],s[i + 1]);
        d --;
    }
}

 

以上是关于Phone numbers的主要内容,如果未能解决你的问题,请参考以下文章

存储到“Int Phone Number”中时整数溢出

LeetCode(17)Letter Combinations of a Phone Number

leetcode17. Letter Combinations of a Phone Number

phone number is not known @w@ have no phone, and thus no phone number

Codewars:Create Phone Number(生成电话号码)

Valid Phone Numbers