FZU 1922(非主流-0/1预加工统计个数)
发布时间: 2013-03-06 16:20:31 作者: rapoo
FZU 1922(非主流-0/1预处理统计个数)
Problem 1922 非主流 Problem Description
鸭子a1在这三只鸭子里的另类度为:dist (a1,a1)+dist (a1,a2)+dist (a1,a3)。
定义dist运算为:
dist (a1,a1)= (|1-1|+|0-0|+|0-0|+|1-1|+|0-0|) = 0
dist (a1,a2) = (|1-0|+|0-1|+|0-0|+|1-0|+|0-1|) = 4;
dist (a1,a3) = (|1-0|+|0-0|+|0-1|+|1-0|+|0-1|) = 4;
就得到鸭子a1在这三只鸭子里的另类度为8。
另类的鸭子越多,风险就越大,因此,养鸭场的老板希望可以确定他的鸭群里面到底有多少另类的鸭子。

Input Output Sample Input Sample Output SourceFOJ有奖月赛-2010年06月 #include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cstdlib>#include<functional>using namespace std;#define MAXN (10000+10)#define MAXM (200+10)#define MAXP (2000000)int t,n,m,p;int a[MAXN][MAXM],d[MAXM];int main(){scanf("%d",&t);for (int tt=1;tt<=t;tt++){memset(d,0,sizeof(d));scanf("%d%d%d",&n,&m,&p);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++){scanf("%d",&a[i][j]);d[j]+=a[i][j];}int ans=0;for (int i=1;i<=n;i++){int tot=0;for (int j=1;j<=m;j++) tot+=(a[i][j])?n-d[j]:d[j];if (tot>=p) ans++;}printf("Case %d: %d\n",tt,ans);}return 0;}