• UVALive5910 UVA1641 POJ4022 ASCII Area【趣味程序+输入输出】


    Regionals 2011 >> Europe - Northeastern


    问题链接UVALive5910 UVA1641 POJ4022 ASCII Area

    题意简述输入一个字符矩阵,矩阵元素由字符"/"、""和"."组成,计算由斜线围成的面积。测试数据有多组,每组首先输入矩阵的行h和列w,然后输入m*n的矩阵。计算面积输出。

    问题分析:对于每一行,首个"/"或""之后".",其面积为1;偶数个"/"或""之后"."其面积为0。对于"/"或"",其面积为0.5。

    程序说明用字符流实现时,封装了函数mygetchar(),使得程序不需要存储矩阵,可以节省存储空间。另外,为了保证计算精度不丢失,使用整数变量来统计面积,最后再做浮点运算。

       


    AC的C语言程序如下:

    /* UVALive5910 UVA1641 POJ4022 ASCII Area */
    
    #include <stdio.h>
    #include <ctype.h>
    
    char mygetchar()
    {
        char c;
    
        c = getchar();
        while(c == '
    ')
            c = getchar();
    
        return c;
    }
    
    int main(void)
    {
        int h, w, sum, flag, i, j;
        char c;
    
        while(scanf("%d%d", &h, &w) != EOF) {
            sum = 0;
    
            for(i=1; i<=h; i++) {
                flag = 0;
                for(j=1; j<=w; j++) {
                    c = mygetchar();
                    if(c == '/' || c == '\') {
                        sum += 1;
                        flag = 1 - flag;
                    } else if(c == '.' && flag)
                        sum += 2;
                }
            }
    
            printf("%.0lf
    ", (double)sum / 2);
        }
    
        return 0;
    }


  • 相关阅读:
    jmeter使用
    docker 制作ssh镜像
    docker 制作自定义的nginx镜像
    docker部署sharding-proxy
    ftp相关
    关于GDAL打开hfa大文件的问题[转]
    C++实现类似反射模式
    C#下使用GDAL库
    全球DEM、遥感图像、矢量图像、GIS数据下载
    DEM数据及其他数据下载
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564310.html
Copyright © 2020-2023  润新知