2014年8月29日星期五

[UVa] 414 - Machined Surfaces


#include <stdio.h>
#include <string.h>
char c[30]={'\0'};
int s[14];

int main(){
  int n,count=0,i,j,max=0;
  for(i=0;i<14;i++)s[i]=0; //初始化
  n=1;
  while(n!=0){
    scanf("%d",&n);  //輸入row數
 if(n==0)break;
 getchar();  //避免scanf的enter被讀入
 for(i=0;i<n;i++){
   count=0;
   for(j=0;j<30;j++)c[j]=' ';
   fgets(c,sizeof(c),stdin);
   for(j=0;j<sizeof(c);j++){
  if(c[j]=='X')count++;  //每一次讀入一行,就總X數++
   }
   s[i]=count; //把每一列的X數都存起來
   if(count>max)max=count; //取得每一列的X數最大值
 }
 /*
 for(i=0;i<n;i++){printf("%d ",s[i]);}
 printf("\n");
 */
 int total=0;
 for(i=0;i<n;i++){
   total+=max-s[i];  //total計算最多X列的X數量和其他每一列的差加總
 }
 printf("%d\n",total);
 max=0;
  }
  
} 

沒有留言: