• 4-泡泡


    链接:https://www.nowcoder.com/acm/contest/74/A
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o"。
    两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。
    (是的你没看错,小气泡和大气泡不会产生任何变化的,原因我也不知道。)
    例如:ooOOoooO经过一段时间以后会变成oO。

    输入描述:

    数据有多组,处理到文件结束。
    每组输入包含一行仅有'O'与'o'组成的字符串。

    输出描述:

    每组输出仅包含一行,输出一行字符串代表小鱼儿吐出的泡泡经过融合以后所剩余的泡泡。
    示例1

    输入

    ooOOoooO

    输出

    oO

    说明

    自左到右进行合并

    备注:

    对于100%的数据,
    字符串的长度不超过100。

    #include <iostream>
    #include <cstring>
    using namespace std;
    string str;
    
    int main(){
    	
    	while(cin >> str){
    		int flag = 1;
    		int leng = str.length();
    		
    		while(flag){
    			flag = 0;
    			string str2;
    			int del = 0;
    			for(int i = 0; i <= leng - 1; i++){
    				if(i == leng - 1){
    					str2 += str[i];
    					continue;
    				}
    				if(str[i] == 'o' && str[i + 1] == 'o' && flag == 0){
    					flag = 1;
    					str2 += 'O';
    					del++;
    					i++; 
    					continue;
    				}
    				else if(str[i] == 'O' && str[i + 1] == 'O' && flag == 0){
    					flag = 1;
    					del += 2;
    					i += 1;
    					continue;
    				}
    				else{
    					str2 += str[i];	
    					continue;
    				}
    			}
    			leng -= del;
    //			cout << "str2 " << str2 << endl; 
    			str = str2;
    		} 
    		cout << str << endl;
    	}
    	
    	return 0;
    }
     
    

      

  • 相关阅读:
    csuoj-1004-Xi and Bo
    csuoj-1003-UC Browser
    网络命令
    linux网络配置
    java面向对象
    java类 面向对象
    java方法 Scanner、Random类
    java集合
    java数组
    java流程控制语句
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/8376784.html
Copyright © 2020-2023  润新知