zoukankan      html  css  js  c++  java
  • POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊

    题意:给定s1,s1两副扑克,顺序从下到上。依次将s2,s1的扑克一张一张混合。例如s1,ABC; s2,DEF. 则第一次混合后为DAEBFC. 然后令前半段为s1, 后半段为s2. 如果可以变换成所给出的字符串,输出变换次数即可;否则,输出-1。

    这题数据太水了,我是这样判断无法变换成题目所给出的字符串的:将每一次变换后的字符串存进数组,每次变换后由于之前变换后的字符串相比较,如果有相同的,就说明会无限循环下去。这样一来,循环次数会增加很多,然而0ms过了。。。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    char ss[1000][200];
    int main()
    {
        //freopen("in.txt","r",stdin);
        int n;
        scanf("%d",&n);
        int t=1;
        while(n--)
        {
            int m;
            bool flag=false;
            char s1[200],s2[200],s[400];
            memset(s1,0,sizeof(s1));
            memset(s2,0,sizeof(s2));
            memset(s,0,sizeof(s));
            memset(ss,0,sizeof(ss));
            scanf("%d%s%s%s",&m,s1,s2,s);
            for(int i=0;; i++)
            {
                for(int j=0; j<m; j++)
                    ss[i][2*j]=s2[j];
                for(int j=0; j<m; j++)
                    ss[i][2*j+1]=s1[j];
                if(strcmp(s,ss[i])==0)
                {
                    printf("%d %d
    ",t,i+1);
                    break;
                }
                else
                {
                    for(int j=0; j<i; j++)
                        if(strcmp(ss[i],ss[j])==0)
                        {
                            printf("%d -1
    ",t);
                            flag=true;
                            break;
                        }
                    if(flag)
                        break;
                }
                for(int j=0; j<m; j++)
                {
                    s1[j]=ss[i][j];
                    s2[j]=ss[i][j+m];
                }
            }
            t++;
        }
        return 0;
    }
  • 相关阅读:
    myeclipse导入项目中的乱码问题的解决
    myeclipse中的jar包的引入与新建
    myeclipse如何修改默认存储文件路径
    oracle迁移数据到mysql
    如何设置myeclipse的编码格式
    tns的查找与修改
    在PL/SQL中输入SQL语句时关键字的首字母自动变成大写
    滤器处理中文编码
    题解导航
    莫队总结应用
  • 原文地址:https://www.cnblogs.com/pach/p/5780162.html
Copyright © 2011-2022 走看看