森近林之助【字串處理】
阿新 • • 發佈:2018-12-15
題目大意
輸入n個字串,每一位總共要出現兩個“1”,一個“0”,求最少要加多少個字串才能滿足條件
解題思路:
這題就是將每一位出現“1”和“0”的次數加在一起,看每一位缺多少個數字,求最大的就是結果.
#include<cstdio>
#include<string>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n,ans,sum,b[101],c[101];
string a;
int main()
{
scanf("%d",&n);
getchar();
for (int i=1;i<= n;i++)
{
getline(cin,a);
for (int j=0;j<a.size();j++)
if (a[j]=='1') b[j]++;//判斷是“1”還是“0”,是“1”加到b裡
else c[j]=1;//是“0”加到c裡
}
for (int i=0;i<a.size();i++)
{
if (b[i]>2) b[i]=2;//當前位的“1”超過2次時當作2次(合格)
sum=3-c[i]-b[i];//sum代表差多少
ans=max(ans,sum);//求最大值
}
printf( "%d",ans);
}