题目:click here ~
题目大意:给你N件衣服, M条裤子, K双鞋子,现在有P个不合理的的搭配(衣服和裤子或者裤子和鞋子),要求不用P中不理的搭配方式来将衣服裤子鞋子三件搭配起来有多少种方案。
#pragma warning (disable:4996)
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
using namespace std;
int main()
{
int N, M, K;
int P;
char pant[] = "pants";
char s1[10], s2[10];
int n1, n2;
int c[1010], s[1010];
while (scanf("%d %d %d", &N, &M, &K) == 3)
{
if ((N == 0 && M == 0 && K == 0)) break;
memset(c, 0, sizeof(c));
memset(s, 0, sizeof(s));
scanf("%d", &P);
for (int i = 0; i < P; i++)
{
scanf(" %s %d %s %d", s1, &n1, s2, &n2);
if (strcmp(pant, s1) == 0)
{
if (strcmp(pant, s2)>0)
{
c[n1] ++;
}
else
{
s[n1] ++;
}
}
else if (strcmp(pant, s1) < 0)
{
s[n2] ++;
}
else
{
c[n2] ++;
}
}
int ans = 0;
for (int i = 1; i <= M; i++)
{
ans += (N - c[i])*(K - s[i]);
}
printf("%d\n", ans);
}
return 0;
}