zoukankan      html  css  js  c++  java
  • 卡片游戏

    小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则如下:
      首先取最上方的卡片放到桌子上,然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片全部都放到桌子上后,桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。游戏的目标是使这个数最小。
      现在你的任务是帮小明写段程序,求出这个最小数。
     

    输入

    第一行是一个数T,表示有T组测试数据;
    然后下面有T行, 每行是一个只含有0~9的字符串,表示N张叠在一起的卡片,最左边的数字表示最上方的卡片。

    [Technical Specification]
    T<=1000
    1 <= N <= 100
     

    输出

    对于每组测试数据,请在一行内输出能得到的最小数。
     

    样例输入

    3
    565
    9876543210
    9876105432
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char a[100],b[100],c[100],d[10];
        char z,y,t;
        int n,m,i,j,k,p;
        scanf("%d",&n);
        gets(d);//为啥有这个呢  因为  回车键也算字符。
        while(n--)
        {
        k=1;p=1;
        gets(a);
        n=strlen(a);
        z=a[0];
        y=a[1];
        if(z>y)
        {
            t=z;
            z=y;//前面俩排序小的放左边,大的放右边。
            y=t;
        }
        b[0]=z;
        c[0]=y;
        for(i=2;i<n;i++)
        {
            if(a[i]=='0')//如果为0,不能放在第一位  需要和最左边的换换。
            {
                b[p]=z;
                b[p-1]=a[i];
                p++;
            }
            else
            {
                if(a[i]<=z)
                {
                    b[p]=a[i];//和左边比较,小于左边  放在B数组里
                    p++;
                    z=a[i];
                }
                else
                {
                    c[k]=a[i];//大于右边  放在C数组里。
                    k++;
                }
            }
        }
        for(i=p-1;i>=0;i--)
        {
            printf("%c",b[i]);//先输出B 数组
        }
        for(i=0;i<k;i++)
        {
            printf("%c",c[i]);
        }
        }
    
    }
  • 相关阅读:
    micro-fusion & macro-fusion
    Intel Core Microarchitecture Pipeline
    Re-Order Buffer
    汇编效率优化:打破依赖链
    汇编效率优化:指令处理机制
    CABAC总结与补充讨论
    差分方程的零输入响应与零状态响应
    线性差分方程的迭代分析法
    二阶线性差分方程中的根/特征值的讨论
    VMware 快速克隆出多个 Linux centos7 环境
  • 原文地址:https://www.cnblogs.com/zhangjiaqi123/p/6180806.html
Copyright © 2011-2022 走看看