zoukankan      html  css  js  c++  java
  • 【杭电】[2054]A==B

    这里写图片描述
    这里写图片描述

    一开始觉得非常简单的一道题
    结果写了这么多
    发完代码再说话:

    #include<stdio.h>
    #include<string.h>
    int main() {
        char A[200000],B[200000],M[200000];
        int i,n,k,x;
        memset(B,'\0',sizeof(A));
        memset(B,'\0',sizeof(B));
        while(scanf("%s %s",&A,&B)!=EOF) {
            for(n=0; n<strlen(A); n++) {
                if(A[n]!='0') {
                    break;
                }
            }
            for(i=n,k=0; i<200000; i++,k++)
                M[k]=A[i];
            memset(A,'\0',sizeof(A));
            for(i=0,n=strlen(M); i<strlen(M); i++) {
                if(M[i]=='.') {
                    for(; n>0; n--) {
                        if(M[n-1]!='0'&&M[n-1]!='.') {
                            break;
                        }
                        if(M[n-1]=='.') {
                            M[n-1]='\0';
                            break;
                        }
                    }
    
                }
            }
            for(i=0,k=0; i<n; i++,k++)
                A[k]=M[i];
            memset(M,'\0',sizeof(M));
            for(n=0; n<strlen(B); n++) {
                if(B[n]!='0') {
                    break;
                }
            }
            for(i=n,k=0; i<200000; i++,k++)
                M[k]=B[i];
            memset(B,'\0',sizeof(B));
            for(i=0,n=strlen(M); i<strlen(M); i++) {
                if(M[i]=='.') {
                    for(; n>0; n--) {
                        if(M[n-1]!='0'&&M[n-1]!='.') {
                            break;
                        }
                        if(M[n-1]=='.') {
                            M[n-1]='\0';
                            break;
                        }
                    }
                }
            }
            for(i=0,k=0; i<n; i++,k++)
                B[k]=M[i];
            if(strcmp(A,B))
                printf("NO\n");
            else {
                printf("YES\n");
            }
        }
        return 0;
    }

    还是放在杭电11页中的中文题
    第一次感受到来自ACM满满的恶意……
    当时天真的以为是这样的:

    if(a==b)
    printf("YES\n");
    else
    printf("NO\n");

    但是!
    在WA了之后
    看了讨论区
    感受到气氛诡异
    学长又说这一题暂时不用做
    甚至有的说他到现在都没AC这一题
    但……初生牛犊不怕虎
    最后AC的时候好高兴啊
    最后发现一直卡住我的是数组初识化的问题-.-
    思路都是对的
    而且我的这个代码似乎还多考虑了一些不用考虑的问题
    总之……

    题目地址:【杭电】[2054]A==B

  • 相关阅读:
    C# 排序技术研究与对比
    基于.net的通用内存缓存模型组件
    Scala学习笔记:重要语法特性
    一个初学者的指南,使用D3做数据绑定
    CLR垃圾回收的设计
    CLR线程概览(下)
    CLR线程概览(一)
    使用sos查看.NET对象内存布局
    .NET对象的内存布局
    MYC编译器源码之代码生成
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12570109.html
Copyright © 2011-2022 走看看