题目给出 上衣,裤子,鞋子的各种类数,然后给出了不能匹配的关系,求解能匹配的种数。
因为只给出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;
}