• 127


    /*
      水题 体现出题目看不懂 额 
    */
    #include <iostream>
    #include <string.h>
    #include <cstdio>
    #include <vector>
    using namespace std;
    const int maxn=55;
    struct card{
      char A,B;
      card(char a=0,char b=0){ A=a;B=b; }
      bool operator == (const card F){
        if(A==F.A||B==F.B) return true;
        else return false;
      }
    };
    struct stac{
       card T[maxn];
       int t;
       void sclear(){ t=0;}
       bool sempty(){ return t==0;}
       card top(){ return T[t]; }
       void push(card R){ T[++t]=R;}
       void pop(){t--;}
       int ssize(){ return t;}
    };
    int main()
    {
        card temp,t1,tt,t3;
        stac T,TT,T1,T3;
        while(1){
                bool  flag=0;
            vector<stac>Q;
            char str[5];
            for(int i=0;i<52;i++){
    
                scanf("%s",str);
                if(str[0]=='#') { flag=1;break; }
                temp=card(str[0],str[1]);
                T.sclear();
                T.push(temp);
                Q.push_back(T);
            }
            if(flag) break;
            while(1){
                flag=1;    int a,b;
                for(int i=1;i<Q.size();i++){
                    tt=Q[i].top();
                    if(i-3>=0) {  t3=Q[i-3].top();  if(tt==t3) { flag=0; a=i;b=i-3; break; }  }
                    if(i-1>=0) {  t1=Q[i-1].top();  if(tt==t1) { flag=0;a=i;b=i-1;  break; }  }
                }
                if(flag) break;
                Q[b].push(tt); Q[a].pop(); if(Q[a].sempty()){ Q.erase(Q.begin()+a);}
            }
            int a=Q.size();
            if(a==1){ printf("1 pile remaining: %d",Q[0].ssize());}
            else {
                printf("%d piles remaining:",a);
                for(int i=0;i<Q.size();i++)
                    printf(" %d",Q[i].ssize());
    
            }
            printf("
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    面向对象三大特性之多态
    作业
    面向对象三大特性之封装
    面向对象三大特性之继承
    面向对象(一)
    subprocess, re模块,logging, 包等使用方法
    模块二之序列化模块以及collections模块
    常用模块
    内置函数补充,函数递归,模块
    生成器以及面向过程编程
  • 原文地址:https://www.cnblogs.com/Opaser/p/3662031.html
Copyright © 2020-2023  润新知