zoukankan      html  css  js  c++  java
  • 题解 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并不是结束,而是开始
  • 相关阅读:
    SublimeText3激活
    Mysql数据备份
    supervisor介绍与使用
    spark-submit介绍
    Spark之spark.sql
    MarkDown编写方法
    Nginx配置多级代理后获取用户真实IP
    Hive之UDF解释
    Hive之分组取前几条记录
    Hive之Map和Reduce的优化
  • 原文地址:https://www.cnblogs.com/yizimi/p/10056198.html
Copyright © 2011-2022 走看看