UVa 414 - Machined Surfaces

来源:互联网 发布:淘宝卖东西怎么发货 编辑:程序博客网 时间:2024/06/10 14:58
13520498414Machined SurfacesAcceptedANSI C0.0092014-04-19 23:52:55

【问题描述】

有几组 N行*25个字符的“图片”(以字符“X”为内容),每行中间有裂缝(空格),求出将图片“拼”成一起后剩下的缝隙大小(空格数)。

【解决过程】

思路:求出图片中每行X的最大个数max和N行X的总数sum,max*N-sum即为所求。代码如下:

#include<stdio.h>#include<string.h>int main(){int n;while(scanf("%d",&n)==1){int i,j,num[n],sum=0,max=-1;for(i=1;i<=n;i++){char c;memset(num,0,sizeof(num));for(j=1;j<=25;j++)if((c=getchar())=='X') num[i-1]++;getchar();if(num[i-1]>max) max=num[i-1];sum+=num[i-1];}if(n>0) printf("%d\n",n*max-sum);}return 0;}
【教训】

1、输入数据时注意如果用getchar()要在读取每行25个字符后再读一次'\n'。

0 0
原创粉丝点击