hdu 다교 제9장 문제풀이(>=100명)
5493 단어 경기 총결산
#include
using namespace std;
long long dp[85*85][85][85];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m,K;
scanf("%d %d %d",&n,&m,&K);
dp[n*m][n][m]=1;
for(int i=n*m-1;i>=1;i--)
{
for(int j=n;j>=1;j--)
for(int k=m;k>=1;k--)
{
if(i>j*k)break;
dp[i][j][k]=(n-j)*k%K*dp[i+1][j+1][k]%K;
dp[i][j][k]=(dp[i][j][k]+(m-k)*j%K*dp[i+1][j][k+1]%K)%K;
dp[i][j][k]=(dp[i][j][k]+((j*k%K-i)%K+K)%K*dp[i+1][j][k]%K)%K;
}
}
printf("%lld
",n*m%K*dp[1][1][1]%K);
}
return 0;
}
D-Rikka with Stone-Paper-Scissors는 자세히 생각하지 않고 문제를 풀었다.우리가 R이 돌을 내는 득점에 대한 기대를 보면 이 기대는 (a-3-c)a+b+c∗b1(a-3c)a+b+c\8727b1;b1과 같다. 즉, 가위를 낼 확률로 그가 보태는 확률을 줄여야 한다.(이상하고 일리가 있는 것 같아) 그러니까 이런 식으로 계산하면 돼.
#include
using namespace std;
long long gcd(long long a,long long b)
{
if(a<0)a=-a;
return b==0?a:gcd(b,a%b);
}
int main()
{
//cout<
int T;
scanf("%d",&T);
while(T--)
{
long long a,b,c,a1,b1,c1;
scanf("%lld %lld %lld %lld %lld %lld",&a,&b,&c,&a1,&b1,&c1);
long long up=(a-c)*b1+(c-b)*a1+(b-a)*c1;
long long down=a+b+c;
long long tmp=gcd(up,down);
up=up/tmp,down=down/tmp;
if(down==1)printf("%lld
",up);
else printf("%lld/%lld
",up,down);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Educational Codeforces Round 66Educational Codeforces Round 66 E: n n n 구간을 정하고 m m 구간을 정하고 m m 구간 중 n n n 구간에서 꺼낸 구간이 최소한 몇 개여야 모든 점을 완전히 덮어쓸 수 있는지 묻는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.