[폭력 + 가지치기] 2017 ICPC 서안 J LOL
2708 단어 폭력 대 법 이 좋다.가지치기
UVALive - 8521
다섯 명, 모두 100 명의 영웅 이 있 습 니 다.
적 에는 어떤 영웅 도 다 있다.
우리 측 과 적 모두 다섯 명의 영웅 BAN 과 PICK, 즉 20 명의 영웅 을 선택 할 수 있 습 니 다.
문제 풀이 방법: 매 는 우리 측 앞의 네 사람의 영웅 을 선택 하 는 상황 을 들 어 다섯 번 째 사람의 영웅 수 를 미리 저장 하고 앞의 네 명의 영웅 이 나 에 게 도 있다 면 수량 -
그럼 저 는 몇 가지 상황 이 있 습 니 다.
우리 측 다섯 명의 영웅 을 뽑 을 수 있 는 모든 상황 * A (95, 5) * C (90, 5) * C (85, 5)
A (95, 5): 적 이 선택 한 영웅 의 종 류 는 순서 가 다 를 수 있다 는 데 중점 을 둔다.
C (90, 5): 우리 반 이 떨 어 뜨 린 영웅 의 종류
C (85, 5): 적 BAN 이 떨 어 뜨 린 영웅 의 종류
#include
#define ll long long
using namespace std;
const int mod=1e9+7;
char a[105],b[105],c[105],d[105],e[105];
ll A(ll n, ll r)//
{ ll sum = 1;
for (int i = 0; i < r; i++)
sum *= n-i;
return sum;
}
ll C(ll n, ll r)//
{ ll sum = 1;
for (int i = 1; i <= r; i++)
sum = sum * (n+1-i)/i;
return sum;
}
int main()
{
while(~scanf("%s%s%s%s%s",a,b,c,d,e))
{
int l1=0,l2=0,l3=0,l4=0,l5=0;
for(int i=0;i<100;i++)
{
if(a[i]=='1') l1++;
if(b[i]=='1') l2++;
if(c[i]=='1') l3++;
if(d[i]=='1') l4++;
if(e[i]=='1') l5++;
}
ll ans=0;
for(int i=0;i<100;i++)
{
if(a[i]=='0') continue;
for(int j=0;j<100;j++)
{
if(b[j]=='0'||i==j) continue;
for(int k=0;k<100;k++)
{
if(c[k]=='0'||k==i||k==j) continue;
for(int p=0;p<100;p++)
{
int q=l5;
if(d[p]=='0'||p==i||p==j||p==k) continue;
if(e[i]=='1') q--;
if(e[j]=='1') q--;
if(e[k]=='1') q--;
if(e[p]=='1') q--;
if(q>=0) ans+=q;
}
}
}
}
ans=ans*A(95,5)%mod*C(90,5)%mod*C(85,5)%mod;
printf("%lld
",ans);
}
return 0;
}
/*
0110011100011001001100011110001110001110001010010111111110101010010011010000110100011001001111101011
1000111101111110110100001101001101010001111001001011110001111110101000011101000001011100001001011010
0100101100011110011100110110011100111100010010011001111110101111111000000110001110000110001100001110
1110010101010001000110100011101010001010000110001111111110101010000000001111001110110101110000010011
1000010011111110001101100000101001110100011000111010011111110110111010011111010110101111011111011011
515649254
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【LeetCode】87. Scramble String 해법 및 설명For example, if we choose the node "gr" and swap its two children, it produces a scrambled string "rgeat" . We say th...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.