首页 > 代码库 > 2013 Asia Regional Changchun
2013 Asia Regional Changchun
Hard Code http://acm.hdu.edu.cn/showproblem.php?pid=4813
1 #include<cstdio> 2 char op[1024]; 3 int main(){ 4 int t,n,m; 5 while(~scanf("%d",&t)){ 6 while(t--){ 7 scanf("%d%d%s",&n,&m,op); 8 for(int i=0;i<n;i++){ 9 for(int j=0;j<m;j++){10 printf("%c",op[i*m+j]);11 }12 puts("");13 }14 }15 }16 return 0;17 }
Little Tiger vs. Deep Monkey http://acm.hdu.edu.cn/showproblem.php?pid=4815
dp求n个数的和为j的种数,除以总的种数就是概率,一旦概率大于等于p就是答案。
1 #include<cstdio> 2 #include<cstring> 3 #define mt(a,b) memset(a,b,sizeof(a)) 4 typedef __int64 LL; 5 LL dp[41][41010]; 6 int a[41]; 7 int main(){ 8 int n,t; 9 double p;10 scanf("%d",&t);11 while(t--){12 scanf("%d%lf",&n,&p);13 for(int i=1;i<=n;i++){14 scanf("%d",&a[i]);15 }16 mt(dp,0);17 dp[0][0]=1;18 for(int i=1;i<=n;i++){19 for(int j=0;j<=40000;j++){20 dp[i][j]+=dp[i-1][j];21 dp[i][j+a[i]]+=dp[i-1][j];22 }23 }24 LL sum=0;25 int ans=0;26 LL all=1LL<<n;27 for(int i=0;i<=40000;i++){28 sum+=dp[n][i];29 if(1.0*sum/all>=p){30 ans=i;31 break;32 }33 }34 printf("%d\n",ans);35 }36 return 0;37 }
end
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。