首页 > 代码库 > HDU 4451 水

HDU 4451 水

题目给出 上衣,裤子,鞋子的各种类数,然后给出了不能匹配的关系,求解能匹配的种数。

因为只给出cp组合和ps组合,所有对于每个p,开两个数组标记不能与之匹配的c和s


#include "stdio.h"
#include "string.h"
int main()
{
    __int64 ans,x,y,n,m,k;
    int p,i,p1[1010],p2[1010];
    char ch1[11],ch2[11];
    while (scanf("%I64d%I64d%I64d",&n,&m,&k)!=EOF)
    {
        if (n+m+k==0) break;

        scanf("%d",&p);
        if (p==0)
        {
            printf("%I64d\n",n*m*k);
            continue;
        }

        memset(p1,0,sizeof(p1));
        memset(p2,0,sizeof(p2));
        while (p--)
        {
            scanf("%s%I64d%s%I64d",ch1,&x,ch2,&y);
            if (ch1[0]=='c') p1[y]++;
            else p2[x]++;
        }
        ans=0;
        for (i=1;i<=m;i++)
            ans+=(n-p1[i])*(k-p2[i]);
        printf("%I64d\n",ans);
    }
    return 0;
}


HDU 4451 水