Blog·Tanky WooABOUTRSS

百练2799 浮点数格式

13 May 2010
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

题目地址:http://poj.pku.edu.cn/problem/2799/

个人感觉这道题比较雷人,咋一看以为是需要把所有浮点数排列,后来在一个朋友的指点下才知道“排列”是指把浮点数后移一定格数使每个浮点数的小数点同一列。

//ID:百练2799
#include
#include

#include
#include
#include
#include
using namespace std;

int search_point_pos(char p[])
{
    int i , len = strlen(p);
    for(i = 0; i < len; i++)
        if(p[i] == '.')
            return i;
}

int main()
{
    int nCases;
    scanf("%d", &nCases);
    char float_point[10000][51];
    int i, max_point_pos = 0;
    for(i = 0; i < nCases; i++)
    {
        scanf("%s", float_point[i]);
        if(search_point_pos(float_point[i]) > max_point_pos)
            max_point_pos =
            search_point_pos(float_point[i]);
    }

    for(i = 0; i < nCases; i++)
    {
        int left =
            max_point_pos - search_point_pos(float_point[i]);
        for(int j = 0; j < left; j++)
            putchar(' ');
        printf("%s\n", float_point[i]);
    }
    return 0;
}