#include<bits/stdc++.h>
using namespace std;
int x,n,pp,ct[10000];
long double f[210][(1<<8)+5][240][2],p,ans;
int main(){
	freopen("exp.in","r",stdin);
	freopen("exp.out","w",stdout);
	scanf("%d%d%d",&x,&n,&pp);
	p=pp/100.0;
	for(int i=1;i<=2000;i++)
		ct[i*2]=ct[i]+1;
	int d=x&1,b=x&255,c=0;
	x>>=8;
	while(x&&(x&1)==d){
		x>>=1;
		c++;
	}
	f[0][b][c][d]=1.0;
	for(int i=0;i<n;i++)
		for(int j=0;j<=255;j++)
			for(int k=0;k<=230;k++)
				for(int l=0;l<=1;l++){
					int b,c,d;
					if(j==255){
						b=0;
						if(l==1){
							d=0;
							c=k;
						}
						else{
							d=1;
							c=1;
						}
					}
					else{
						b=j+1;
						d=l;
						c=k;
					}
					f[i+1][b][c][d]=f[i+1][b][c][d]+f[i][j][k][l]*(1-p);
					//+1
					if(j>127){
						b=(j*2)&255;
						int td=(j*2)&256;
						td>>=8;
						if(td!=l){
							c=1;
							d=td;
						}
						else{
							c=k+1;
							d=l;
						}
					}
					else{
						b=j*2;
						if(l!=0){
							d=0;
							c=1;
						}
						else{
							d=0;
							c=k+1;
						}
					}
					f[i+1][b][c][d]=f[i+1][b][c][d]+f[i][j][k][l]*p;
					//*2
				}
	for(int j=1;j<=255;j++)
		for(int k=0;k<=230;k++)
			for(int l=0;l<=1;l++)
				ans=ans+f[n][j][k][l]*ct[j];
	for(int k=0;k<=230;k++)
		ans=ans+f[n][0][k][1]*8+f[n][0][k][0]*(8+k);
	printf("%.12Lf\n",ans);
}

我怎麼天天犯傻逼錯誤!

jzoj5805的更多相关文章

随机推荐

  1. DB2数据库常用命令数据库学习

    DB2数据库常用命令数据库学习你可以用 get snapshot for locks on XXX 看是那个表锁了,再从相关的操作去查原因吧 db2pd -d 库名 -locks和db2pd -d 库 ...

  2. Laravel中用GuzzleHttp

    阅读数:14715 今天项目中用到GuzzleHttp,开始不知道怎么用,其实还是很简单的. 直接在项目根目录,输入以下命令 composer require guzzlehttp/guzzle 1 ...

  3. Laravel5.4 Oauth2.0认证应用 API 实战!

    项目初始化 新建项目 lukeyans-MacBook-Pro:laravel lukeyan$ laravel new laravel_demo 添加laravel自带的Passport服务 luk ...

  4. 【Sikuli】Sikuli 文档

    http://sikulix-2014.readthedocs.io/en/latest/index.html

  5. OSGi 系列(十)之 Blueprint

    OSGi 系列(十)之 Blueprint blueprint 是 OSGi 的一个规范,类似于 spring 的 IOC,用来处理 OSGi 的动态特性,可以大大简化服务的使用. blueprint ...

  6. MySQL相关知识总结

    1. 显示所有表 show tables; 还有information_schema数据库里面有tables表,记录了所有表信息 use information_schema; select * fr ...

  7. div 自适应宽度

    div 自适应宽度 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  8. Basic4android v3.80 beta 发布

    增加了条件编译,共享模块,部分支持jar 文件直接访问.还有其他一些更新. I'm happy to release B4A v3.80 BETA. This version includes sev ...

  9. memmove、memcpy、strcpy、memset的实现

    memmove.memcpy.strcpy.memset 原型为: void *memmove( void* dest, const void* src, size_t count ); char*  ...

  10. Java多线程-并发协作(生产者消费者模型)

    对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的.就像学习每一门编程语言一样,Hello World!都是最经典的例子. 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓 ...