当前位置: 代码迷 >> 综合 >> UVA-414-Machined Surfaces
  详细解决方案

UVA-414-Machined Surfaces

热度:46   发布时间:2023-12-19 11:48:40.0
这道题目就是以水题,无非就是题意难以理解而已。

题目的大致意思是:首先输入一个数字N,代表接下来要输入几行字符串;

    每行字符串的格式为:由字母X和空格 (“ ”)组成,且两边是字符X,中间是空格。每行的开始有一个或多个X,中间有0个或多个空格,末端有一个或多个X。

    要求:将N行中的左边的字符X同时向右移动(或右边的字符X向左移动),直到有一行中间没有空格时停止所有行的移动,此时计算N行中总共有多少个空格。

大体思路:做这道题目的思路就是把每一次输入的字符串的空格数加起来减去最小的一个*输入的行数。。。

 

 

#include<stdio.h>
#include<stdio.h>
int main()
{
int k,m,n,i,j,sum,min;
char str[100000];
while(scanf("%d%*c",&n)&&n)
{
sum=0;
for(i=0;i<n;i++)
{
gets(str);
m=strlen(str);
k=0;
for(j=0;j<m;j++)
{
if(str[j]==' ')
k++;
}
if(i==0)
min=k;
else
{
if(min>k)
min=k;
}
sum+=k;
}
printf("%d\n",sum-min*n);
}
return 0;
}