• 题解 CF938A 【Word Correction】


    思想

    首先判断是否为元音,如果是,就去看后面有多少连续的元音,一并标记(删除)然后去找下一个元音;

    代码实现及注释

    #include<bits/stdc++.h>
    using namespace std;
    #define go(i,j,n,k) for(int i=j;i<=n;i+=k)//循环偷懒
    #define fo(i,j,n,k) for(int i=j;i>=n;i-=k)
    #define mn 105
    char a[mn];
    int n;
    bool b[mn];//记录是否被删除
    int main(){
    	cin>>n;
    	go(i,1,n,1){
    		cin>>a[i];
    		b[i]=true;
    	}
    	go(i,1,n,1){
    		if(b[i]){//是否被删除
    			if(a[i]=='a'||a[i]=='e'||a[i]=='o'||a[i]=='i'||a[i]=='u'||a[i]=='y'){//判断是不是元音
    				go(j,i+1,n,1){
    					if(a[j]=='a'||a[j]=='e'||a[j]=='o'||a[j]=='i'||a[j]=='u'||a[j]=='y'){//循环看有没有连续的元音
    						b[j]=false;
    					}else{//只要有不是的,直接退出小循环,寻找下一组元音
    						break;
    					}
    				}
    			}
    		}
    	}
    	go(i,1,n,1){
    		if(b[i]){
    			cout<<a[i];
    		}
    	}
    	return 0;
    }
    
    NOIP2018并不是结束,而是开始
  • 相关阅读:
    nginx结合tomcat一起使用
    Markdown速成班
    git pull VS git fetch&merge
    Spring框架学习
    WMS专业名词解释
    持续集成与灰度发布
    selenium webdriver入门
    理解HTTP session原理及应用
    linux常用命令
    转载:Mongodb start
  • 原文地址:https://www.cnblogs.com/yizimi/p/10056198.html
Copyright © 2020-2023  润新知