zoukankan      html  css  js  c++  java
  • 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;
    }


  • 相关阅读:
    ArcMap导出图层属性为excel表
    ArcMap面转为线
    vue(18)声明周期函数
    geoserver发布mbtiles文件
    docker部署geoserver
    vue(17)组件插槽slot的使用
    vue(16)父子组件之间直接相互访问
    MySQL常用查询语句积累
    数据库的基本设计
    HashMap学习
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564309.html
Copyright © 2011-2022 走看看