杭电2048(此种方法比较麻烦的,建议推荐本人的 【杭电2048(递推)】http://www.cnblogs.com/xiohao/archive/2012/09/28/2706573.html)
2012-09-24 18:13
531 查看
问题分析:此题也是一道递推问题!首先,当m=4的时候 例如 {1 2 3 4 其中当1取2的时候
1 2 3 4}
此时如果2取1,则只能3和4互相交换({3 4 相当于a[2]的值)!如果2取3或4,则剩余{3 4
3 4} 1 4}
此时相当于{1 2 3 中1取2剩余的情况!!依次类推 b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
1 2 3} a[i]=(double)(i-1)/i*b;
#include<iostream>
using namespace std;
int main()
{
int n,m,i;double a[25],b,Q;
cin>>n;
getchar();
while(n--)
{
cin>>m;
a[1]=0;
a[2]=0.5;
a[3]=(double)1/3;
Q=0.5;
for(i=4;i<=m;i++)
{ b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
a[i]=(double)(i-1)/i*b;
Q=b;
}
printf("%.2lf",a[m]*100);cout<<"%"<<endl;
}
return 0;
}
1 2 3 4}
此时如果2取1,则只能3和4互相交换({3 4 相当于a[2]的值)!如果2取3或4,则剩余{3 4
3 4} 1 4}
此时相当于{1 2 3 中1取2剩余的情况!!依次类推 b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
1 2 3} a[i]=(double)(i-1)/i*b;
#include<iostream>
using namespace std;
int main()
{
int n,m,i;double a[25],b,Q;
cin>>n;
getchar();
while(n--)
{
cin>>m;
a[1]=0;
a[2]=0.5;
a[3]=(double)1/3;
Q=0.5;
for(i=4;i<=m;i++)
{ b=(double)1/(i-1)*a[i-2]+(double)(i-2)/(i-1)*Q;
a[i]=(double)(i-1)/i*b;
Q=b;
}
printf("%.2lf",a[m]*100);cout<<"%"<<endl;
}
return 0;
}
相关文章推荐
- 鉴于本人的经验,我不推荐使用sqlite for wp. Windows Phone(二) WP7数据库连接(SQLite数据库) 转:http://www.cnblogs.com/ry123/archive/2012/05/31/2528281.html
- Win32应用程序中进程间通信方法分析与比较[转http://www.cnblogs.com/erwin/archive/2007/04/16/715084.html]
- http://www.cnblogs.com/jihua/archive/2012/09/28/yanzheng.html
- [推荐]查看Json输出的*最方便*的方法(转http://www.cnblogs.com/1-2-3/archive/2009/11/24/json-viewer-extjs-mvc-fiddle)
- js 调用C#.NET后台方法 转载自:http://www.cnblogs.com/lizhao/archive/2010/11/23/1990436.html
- C# 参考之方法参数关键字:params、ref及out 引用-http://www.cnblogs.com/hunts/archive/2007/01/13/619620.html
- apache启用gzip压缩方法--转载自http://www.cnblogs.com/linzhenjie/archive/2013/03/05/2943635.html
- 寻找最快的大文件拷贝方法(转自:http://www.cnblogs.com/hesicong/archive/2007/08/18/860763.html)
- C# 启动外部程序的几种方法(转自:http://www.cnblogs.com/Slxj/archive/2012/01/12/2320531.html)
- http://www.cnblogs.com/haojianwei/archive/2010/03/02/1676707.html
- 性能分析:处理器、磁盘I/O、进程、网络分析方法 http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html
- linux下使用tar命令 (转至http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html)
- 数字转汉字函数(转自http://www.cnblogs.com/haoxiaobo/archive/2005/01/11/89922.html)
- 一些在JAVA中获得文件夹路径的方法http://www.cnblogs.com/lostyue/archive/2011/06/27/2091686.html
- C#委托学习 原文推荐:http://www.cnblogs.com/warensoft/archive/2010/03/19/1689806.html?login=1#commentform
- Debian(Linux)+XAMPP(LAMPP)+Zend Studio + PHP +XDebug 完整的开发环境配置方法。 转摘:http://www.cnblogs.com/kungfupanda/archive/2010/11/25/1887812.html
- python扩展实现方法--python与c混和编程 转自:http://www.cnblogs.com/btchenguang/archive/2012/09/04/2670849.html
- 启动其他APK的Activity方法 (转至http://www.cnblogs.com/lijunamneg/archive/2013/02/26/2934060.html)
- IHttpModule.Init方法被执行多次的原因(转自:http://www.cnblogs.com/mingda/archive/2009/02/11/1388709.html)
- 一个封装比较完整的FTP类——clsFTP (转:http://www.cnblogs.com/name-lh/archive/2007/04/28/731528.html)