Educational Codeforces Round 38 (Rated for Div. 2) A. Word Correction
2018-02-17 13:22
701 查看
A. Word Correction
Victor tries to write his own text editor, with word correction included. However, the rules of word correction are really strange.Victor thinks that if a word contains two consecutive vowels, then it's kinda weird and it needs to be replaced. So the word corrector works in such a way: as long as there are two consecutive vowels in the word, it deletes the first vowel in a word such that there is another vowel right before it. If there are no two consecutive vowels in the word, it is considered to be correct.You are given a word s. Can you predict what will it become after correction?In this problem letters a, e, i, o, u and y are considered to be vowels.InputThe first line contains one integer n (1 ≤ n ≤ 100) — the number of letters in word s before the correction.The second line contains a string s consisting of exactly n lowercase Latin letters — the word before the correction.OutputOutput the word s after the correction.ExamplesinputCopy
思路:模拟,每碰到两个
4000
连续时,删掉后一个,同时新接合出来的位置可能还会连续,所以要继续删。
这里我用了string的erase()字符删除函数。#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll vis[30],n,flag;
string s;
int main()
{
memset(vis,0,sizeof(vis));
vis[1]=vis[5]=vis[9]=vis[15]=vis[21]=vis[25]=1; //标记元音
while(cin>>n>>s)
{
while(1) //反复遍历这个字符串,直到没有连续元音时break
{
flag=0;
for(ll i=1;i<n;i++)
{
if(vis[s[i-1]-'a'+1]&&vis[s[i]-'a'+1])
{
flag=1;
s.erase(i,1); //字符串删除函数,i是起始位置,1是要删除几个元素
}
}
if(flag==0)break; //没有连续元音break
}
cout<<s<<endl;
}
return 0;
}
Victor tries to write his own text editor, with word correction included. However, the rules of word correction are really strange.Victor thinks that if a word contains two consecutive vowels, then it's kinda weird and it needs to be replaced. So the word corrector works in such a way: as long as there are two consecutive vowels in the word, it deletes the first vowel in a word such that there is another vowel right before it. If there are no two consecutive vowels in the word, it is considered to be correct.You are given a word s. Can you predict what will it become after correction?In this problem letters a, e, i, o, u and y are considered to be vowels.InputThe first line contains one integer n (1 ≤ n ≤ 100) — the number of letters in word s before the correction.The second line contains a string s consisting of exactly n lowercase Latin letters — the word before the correction.OutputOutput the word s after the correction.ExamplesinputCopy
5 weirdoutput
werdinputCopy
4 wordoutput
wordinputCopy
5 aaeaaoutput
a题意:给你一个单词,从左到右进行统计,当出现连续的元音字母时删掉后一个,问你最后的结果。
思路:模拟,每碰到两个
4000
连续时,删掉后一个,同时新接合出来的位置可能还会连续,所以要继续删。
这里我用了string的erase()字符删除函数。#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll vis[30],n,flag;
string s;
int main()
{
memset(vis,0,sizeof(vis));
vis[1]=vis[5]=vis[9]=vis[15]=vis[21]=vis[25]=1; //标记元音
while(cin>>n>>s)
{
while(1) //反复遍历这个字符串,直到没有连续元音时break
{
flag=0;
for(ll i=1;i<n;i++)
{
if(vis[s[i-1]-'a'+1]&&vis[s[i]-'a'+1])
{
flag=1;
s.erase(i,1); //字符串删除函数,i是起始位置,1是要删除几个元素
}
}
if(flag==0)break; //没有连续元音break
}
cout<<s<<endl;
}
return 0;
}
相关文章推荐
- Educational Codeforces Round 38 (Rated for Div. 2)A. Word Correction
- Educational Codeforces Round 38 (Rated for Div. 2) D_Buy a Ticket_加源点Dijkstra
- Educational Codeforces Round 38 (Rated for Div. 2) C. Constructing Tests
- 【Educational Codeforces Round 38 (Rated for Div. 2)】 Problem A-D 题解
- Educational Codeforces Round 38 (Rated for Div. 2)
- Educational Codeforces Round 38 (Rated for Div. 2) B. Run For Your Prize
- Educational Codeforces Round 38 (Rated for Div. 2) 【B】 【双指针】
- Educational Codeforces Round 36 (Rated for Div. 2) 题解
- Educational Codeforces Round 33 (Rated for Div. 2) A - Chess For Three
- Educational Codeforces Round 33 (Rated for Div. 2) A-C题解
- Educational Codeforces Round 34 (Rated for Div. 2) E. Swapping Characters(暴力)
- Educational Codeforces Round 33 (Rated for Div. 2) A题. Chess For Three
- Educational Codeforces Round 33 (Rated for Div. 2) B - Beautiful Divisors
- Educational Codeforces Round 33 (Rated for Div. 2) F - Subtree Minimum Query
- Educational Codeforces Round 40 (Rated for Div. 2) D. Fight Against Traffic(SPFA)
- Wannafly挑战赛9+Educational Codeforces Round 37 (Rated for Div. 2)
- Educational Codeforces Round 35 (Rated for Div. 2) A——C
- Educational Codeforces Round 35 (Rated for Div. 2) A B C D
- Educational Codeforces Round 39 (Rated for Div. 2)
- Educational Codeforces Round 39 (Rated for Div. 2) A. Partition(水题)