zoukankan      html  css  js  c++  java
  • UVa-1588 Kickdown

    思路比较简单,注意要双向。
    我一直误以为两次cin>>a;时第二次会自动把数组清零,结果WA了我好多次,最后才发现原来不是这样的。
    比如这样的:

        char a[15]={};
        cin>>a;
        for(int i=0;i<10;i++)
            printf("%d ",a[i]);
        printf("
    ");
        cin>>a;
        for(int i=0;i<10;i++)
            printf("%d ",a[i]);

    这里写图片描述
    也就是说第二次cin的时候只是会把紧接着’d’后面的字符变为’’!
    最后的代码是:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int main()
    {
        //freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
        char a[300]={},b[300]={};
        while(cin>>a>>b)
        {
            int ans[5]={},ch3='1'+'2';
            for(int ii=1;ii<=2;ii++,swap(a,b))
            {
                int la=strlen(a),lb=strlen(b),p=0,i=0;
                for(;p<lb;p++)
                {
                    for(i=0;i<la;i++)
                        if(a[i]+b[p+i]>ch3)
                            break;
                    if(i==la)
                        break;
                }
                ans[ii]=max(lb,p+la);
            }
            cout<<min(ans[1],ans[2])<<endl;
            memset(a,0,sizeof(a));
            memset(b,0,sizeof(b));
        }
    }
  • 相关阅读:
    路飞项目五
    路飞项目四
    路飞项目三
    路飞项目二
    基本数据类型之集合和字符编码
    3.11 作业
    基本数据类型内置方法
    3.10 作业
    流程控制之for循环、基本数据类型及其内置方法
    3.9 作业
  • 原文地址:https://www.cnblogs.com/windrises/p/4653054.html
Copyright © 2011-2022 走看看