UVA 414 - Machined Surfaces

题意:第一行输入一个n,后面输入n行字符串,每行在左右x之间都存在一些空格,每次操作都使每行空格数减1,直到其中一行没有空格为止,求剩余的总空格数
解法:可简化为求总空格数LongSum和最少空格数MinLong,结果即为LongSum-n*MinLong
代码如下:

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n,Long,MinLong,LongSum;
    char x[30];
    while(cin>>n&&n)
    {
        getchar();
        LongSum=0,MinLong=30;
        for(int i=0; i<n; ++i)
        {
            Long=0;
            memset(x,0,30);
            cin.getline(x,30);
            for(int j=0; j<25; ++j)
                if(x[j]==' ')
                    Long++;
            MinLong=min(Long,MinLong);
            LongSum+=Long;
        }
        cout<<LongSum-n*MinLong<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/liuxinyu666/article/details/80203637