HDU 4451 简单容斥
2013-08-22 09:43
330 查看
给出衣服裤子鞋子的数目n m k
给出不能搭配的组合个数q
再给出q个不能组合的东西,可能有两种形式
clothes x plants y,x衣服和y裤子不能搭配
plants x shoe z ,x裤子和z鞋子不能搭配
求可能组成的搭配个数
根据容斥原理 可能的搭配个数=n*m*k-all (两两不能组合的搭配)+all(三个不能组合的搭配)
给出不能搭配的组合个数q
再给出q个不能组合的东西,可能有两种形式
clothes x plants y,x衣服和y裤子不能搭配
plants x shoe z ,x裤子和z鞋子不能搭配
求可能组成的搭配个数
根据容斥原理 可能的搭配个数=n*m*k-all (两两不能组合的搭配)+all(三个不能组合的搭配)
#include<stdio.h> #include<string.h> int tot[1004][3]; int main(){ int n,m,k,q,x,y,i; char s1[111],s2[111]; while(scanf("%d %d %d",&n,&m,&k)!=EOF){ if(n==0&&m==0&&k==0)break; memset(tot,0,sizeof(tot)); scanf("%d",&q); while(q--){ scanf("%s %d %s %d",&s1,&x,&s2,&y); if(s1[0]=='c')tot[y][0]++; //不能和y搭配衣服 else tot[x][1]++; //不能和x搭配的鞋 } int sum=n*m*k; for(i=1;i<=m;i++){ sum-=tot[i][0]*k; sum-=tot[i][1]*n; sum+=tot[i][0]*tot[i][1]; } printf("%d\n",sum); } return 0; }
相关文章推荐
- Hdu 4451 Dressing (简单容斥)
- HDOJ 4451 - Dressing 简单容斥..
- HDU 6106 17多校6 Classes(容斥简单题)
- HDU 1796How many integers can you find(简单容斥定理)
- 简单容斥定理-hdu-1796-How many integers can you find
- HDU 4451 简单搭配问题
- HDU 1796How many integers can you find(简单容斥定理)
- HDU 1796How many integers can you find(简单容斥定理)
- hdu 3682 10 杭州 现场 C - To Be an Dream Architect 简单容斥 难度:1
- HDU 1796How many integers can you find(简单容斥定理)
- Hdu-5792 World is Exploding(简单容斥)
- hdu 4451 简单题
- 【HDU】4135 Co-prime(容斥原理简单应用 质因子的分解)
- HDU1798 简单高中的计算几何题= =。正余弦定理的综合应用么。。。
- hdu - 4308 - Saving Princess claire - 简单宽搜
- HDU-1176-简单dp
- HDU 1711 Number Sequence (简单KMP)
- 并查集的简单应用——HDU
- hdu 2120 Ice_cream's world I (简单并查集 + 判环)
- hdu 2795--简单线段树