现在的位置: 首页 > 综合 > 正文

POJ1493 Machined Surfaces

2013年02月15日 ⁄ 综合 ⁄ 共 550字 ⁄ 字号 评论关闭

题意:

就是将中间的空格合并,问最后剩下几个空格。

直接看范例就懂了,看题目描述还比较蛋疼。

思路:

其实本质就是统计一下每行空格数字,找出最小值。然后剩的值即是sum[每行空格数-最小值]。

#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
#define max(a,b) (a>b?a:b)
#define abs(a) ((a)>0?(a):-(a))
#define min(a,b) (a<b?a:b)
using namespace std;
int n,m;
char a[25];
int d[15];
int main()
{
	while(scanf("%d",&n),n)
	{
		getchar();
		int mn=25;
		for(int i=1;i<=n;i++)
		{
			d[i]=25;
			scanf("%s",a);
			int len=strlen(a);
			if(len!=25)
			{
				d[i]-=len;
				scanf("%s",a);
				d[i]-=strlen(a);
			}
			else
			{
				d[i]=0;
			}
			mn=min(d[i],mn);
		}
		int ans=0;
		for(int i=1;i<=n;i++)
		{
			ans+=d[i]-mn;
		}
		printf("%d\n",ans);
	}
	return 0;
}

抱歉!评论已关闭.