zoukankan      html  css  js  c++  java
  • 9.3noip模拟赛第一题卡片

    卡片 (card)
    【题目描述】
    lrb 喜欢玩卡牌。他手上现在有n张牌,每张牌的颜色为红绿蓝中的一种。现在他有两种
    操作。一是可以将两张任意位置的不同色的牌换成一张第三种颜色的牌;二是可以将任意位
    置的两张相同颜色的牌换成一张该颜色的牌。两个操作后都可以将生成的牌放到任意位置。
    现在他想知道,最后一张牌可能是什么颜色的。
    【输入描述】
    第一入一个n,表示卡牌数量。
    第二行输入一个由’B’,’G’,’R’组成的长度为n的字符串,分别表示卡牌的颜色为蓝色、绿
    色、红色中的一种。
    【输出描述】
    输出’B’,’G’,’R’中的若干个字母,按字典序输出。代表可能的最后一张牌的颜色。
    【样例】
    输入 1 输出 1
    2
    RB
    G
    输入 2 输出 2
    3
    GRG
    BR
    输入 3 输出 3
    4
    BBBB
    B
    【数据范围】
    对于100%的数据,n ≤ 200

    思路:用if各种特殊判断

    #include<cstdio>
    using namespace std;
    int n,a,b,c;
    int a1,b1,c1;
    char ch[210];
    int main(){
      scanf("%d",&n);
      scanf("%s",ch);
      for(int i=0;i<n;i++)
      switch(ch[i]){
        case 'B':a++;break;
        case 'G':b++;break;
        case 'R':c++;break;
      }
      if(a&&!b&&!c){//如果只存在B,则只输B
        printf("B");
        return 0;
      }
      if(!a&&b&&!c){//同
        printf("G");
        return 0;
      }
      if(!a&&!b&&c){//同
        printf("R");
        return 0;
      }
      if(n==2){ //如果有两个且不同
        if (!a) printf("B");
        if (!b) printf("G");
        if (!c) printf("R");
        return 0;
      }
      if(a==n-1){//可论证
        printf("GR");
        return 0;
      }
      if(b==n-1){
        printf("BR");
        return 0;
      }
      if(c==n-1){
        printf("BG");
        return 0;
      }
      printf("BGR");
      return 0;
    }

    论证:

    如果有n-1个B,另一个为R,

    1、消去B直到剩下一个B,BR为G

    2、一个B和R成G,在消去B,BG为R

    3、因为同一次只能出现一个R或G,所以永远不会全都是B

    所以答案为RG

    同理的另外两个

  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/linzeli/p/7471391.html
Copyright © 2011-2022 走看看