码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 容斥

时间:2017-04-30 11:04:09      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:using   return   scanf   ase   typedef   for   c++   i++   cout   

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll sqr(ll a,ll b){
    return a*a*b*b;
}

int main(){
    int t,n,m,k,cas=1;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d%d",&n,&m,&k);
        double res=0;
        ll t=(ll)n*n*m*m;
        for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){
            ll tt=0;
            tt+=sqr(m,n-i);//
            tt+=sqr(n,m-j);//
            tt+=sqr(n,j-1);//
            tt+=sqr(m,i-1);//

            tt-=sqr(n-i,m-j);//
            tt-=sqr(i-1,m-j);//
            tt-=sqr(n-i,j-1);
            tt-=sqr(i-1,j-1);//

            double ttt=1.0*tt/t;
            ttt=1.0-pow(ttt,k);
            //cout<<ttt<<endl;
            res+=ttt;
        }
        int ans=(int)round(res);
        printf("Case #%d: %d\n",cas++,(int)round(res));
    }
    return 0;
}

  

hdu 容斥

标签:using   return   scanf   ase   typedef   for   c++   i++   cout   

原文地址:http://www.cnblogs.com/jihe/p/6788822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!