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并不是结束,而是开始
  • 相关阅读:
    0055. Jump Game (M)
    0957. Prison Cells After N Days (M)
    Java
    Java
    Java桌面应用程序打包
    JavaGUI练习
    Java贪吃蛇小游戏
    Java GUI编程
    Java异常处理机制
    抽象类与接口
  • 原文地址:https://www.cnblogs.com/yizimi/p/10056198.html
Copyright © 2011-2022 走看看