poj 1493 Machined Surfaces
這道題的難點在於讀題,題讀懂了,基本就是很水很水的題目。。。
題意:每張照片由n行串組成,每行串長度為25,都由X開頭,空格中間(也可沒有),X結尾。所有串的左邊X部分同時右移,直到有一個串沒有空格。問這時所有串合起來總共有幾個空格。
思路:求最短的空格數min,每一行的空格數減去min之和就是結果了。
AC的代碼:
#include <iostream>
int blankNum[15];
char img[30];
int main()
{
int n;
while(scanf("%d",&n))
{
if(n==0)
return 0;
getchar();
int i,j;
int min=999;
int tmp;
for(i=1;i<=n;i++)
{
tmp=0;
gets(img);
for(j=0;j<25;j++)
if(img[j]==' ')
tmp++;
blankNum[i]=tmp;
if(tmp<min)
min=tmp;
}
for(i=1,tmp=0;i<=n;i++)
tmp+=blankNum[i]-min;
printf("%d\n",tmp);
}
return 0;
}
最後更新:2017-04-03 14:54:03