zoukankan      html  css  js  c++  java
  • 荷兰国旗问题

    描述
     
    荷兰国旗有三横条块构成,自上到下的三条块颜色依次为红、白、蓝。现有若干由红、白、蓝三种颜色的条块序列,要将它们重新排列使所有相同颜色的条块在一起。本问题要求将所有红色的条块放最左边、所有白色的条块放中间、所有蓝色的条块放最右边。
    输入
    第1行是一个正整数n(n<100),表示有n组测试数据。接下来有n行,每行有若干个由R,W,B三种字符构成的字符串序列,其中R,W和B分别表示红、白、蓝三种颜色的条块,每行最多有1000个字符。
    输出
    对输入中每行上由R,W,B三种字符构成的字符串序列,将它们重新排列使所有相同颜色的条块在一起,满足前述要求。
    样例输入
    3
    BBRRWBWRRR
    RRRWWRWRB
    RBRW 
    
    样例输出
    RRRRRWWBBB
    RRRRRWWWB
    RRWB 

     1 #include <stdio.h>
     2 
     3 int main(){
     4     int T;
     5     char s[1001];
     6     int R_number;
     7     int W_number;
     8     int B_number;
     9     int i;
    10     
    11     scanf("%d",&T);
    12     
    13     while(T--){
    14         scanf("%s",&s);
    15         
    16         R_number=0;
    17         W_number=0;
    18         B_number=0;
    19         
    20         for(i=0;s[i]!='';i++){
    21             if(s[i]=='R')
    22                 R_number++;
    23                 
    24             else if(s[i]=='W')
    25                 W_number++;
    26                 
    27             else
    28                 B_number++;
    29         }
    30         
    31         for(i=1;i<=R_number;i++)
    32             printf("R");
    33             
    34         for(i=1;i<=W_number;i++)
    35             printf("W");
    36             
    37         for(i=1;i<=B_number;i++)
    38             printf("B");
    39             
    40         printf("
    ");
    41     } 
    42     return 0;
    43 }
     
  • 相关阅读:
    Canvas
    FastDFS 下载与安装
    Oracle 表空间错误集锦
    Sql Server 网络配置
    telnet 功能启用并测试端口是否正常
    UIBarButtonItem 上按钮切换/隐藏的简单例子 转载
    UIScrollView详解
    warning:performSelector may cause a leak because its selector is unknown
    dispatch_once优化代码性能 转
    UIView 和 CALayer的那点事
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4099267.html
Copyright © 2011-2022 走看看