您的位置:首页 > 其它

UVa 414 - Machined Surfaces

2014-04-19 23:57 375 查看
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
,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'。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UVa