网上看到的上交的研究生考题
2013-03-14 23:03
253 查看
1 2 3 4 5 6 7 8 9 0 说某移动电信运营商开发了一个名为“争霸”的游戏,为鼓励用户参与,凡签约用户均可获得前三位为888的手机号码,但这样的话就有10的8次方种可能,现在给出一种限制条件减少号码数量,就是两个相邻号码之间的关系必须满足象棋里的“将步” 即:给你前三位都是888 后面8位是上面的数字 每个数的相邻只有有限个数字 比如8881* 那么与1相邻的只可以是2和4 888812那么与2相邻的只可以是1,5,3 就是这个意思 如果选择5 那么可以选择的有2,4,6,8 问: 1 用什么算法比较好?为什么? 2 最优的算法是什么?为什么? 3 用什么数据结构最好?为什么? 4 时间复杂度和空间复杂度? 5 一共有多少种情况?
今天偶然间看到这道题,看到很多人跟帖,也有很多作法,贡献dp解法一种。
//1 2 3 //4 5 6 //7 8 9 // 0 int Map[10][10]; int dp[10][10]; int main() { memset(Map,0,sizeof(Map)); memset(dp,0,sizeof(dp)); Map[0][8] = 1; Map[1][2] = Map[1][4] = 1; Map[2][1] = Map[2][5] = Map[2][3] = 1; Map[3][2] = Map[3][6] = 1; Map[4][1] = Map[4][5] = Map[4][7] = 1; Map[5][2] = Map[5][4] = Map[5][6] = Map[5][8] = 1; Map[6][3] = Map[6][5] = Map[6][9] = 1; Map[7][8] = Map[7][4] = 1; Map[8][5] = Map[8][7] = Map[8][0] = Map[8][9] = 1; Map[9][6] = Map[9][8] = 1; for (int i = 0 ; i < 10 ; i ++) dp[i][1] = 1; for (int j = 2 ;j <= 8 ;j ++) for (int i = 0 ;i <10 ;i ++) { for (int k = 0 ; k < 10 ; k ++) { if(Map[i][k]) dp[i][j] += dp[k][j-1]; } } int ans = 0; for (int i = 0 ; i < 10 ; i ++) ans += dp[i][8]; cout << ans<<endl; }
还有一种dfs的方法
//1 2 3
//4 5 6
//7 8 9
// 0
int ans = 0;
int Map[10][5]=
{
{8,-1},
{2,4,-1},
{1,3,5,-1},
{2,6,-1},
{1,5,7,-1},
{2,4,6,8,-1},
{3,5,9,-1},
{4,8,-1},
{0,5,7,9,-1},
{6,8,-1}
};
void dfs(int now,int num)
{
if(num == 7)
{
ans ++;
return ;
}
for (int i = 0 ; i < 5; i ++)
{
if(Map[now][i] != -1)
{
int k = num + 1;
dfs(Map[now][i],k);
}
else
break;
}
}
int main()
{
for (int i = 0 ; i < 10 ; i ++)
dfs(i,0);
cout <<ans <<endl;
}
继续研究
相关文章推荐
- 怎样将在网上看到的视频下到电脑上
- 关于多线程的简要梳理(网上看到的知识整理)
- 刚刚在网上看到的 SQL注入漏洞全接触
- 网上看到的一个百度实习生笔试题
- 网上看到的:ARM入门最好的文章(转)
- 武汉五研究生网上卖菜 合办华中首家卖菜网(图)
- 从网上看到一些文章,自己再总结一下,在学习编程中一些要点
- 在天极网上看到一条新闻
- Spring事务配置的五种方式 -这是本人在网上看到的,相当不错,希望对大家有帮助
- 我在网上看到的好东西—IT人为什么频繁跳槽
- 在网上看到一个通过css绘制各种图形的文章留底
- 网上看到的关于bug度量的一个公式
- Windows网上邻居无法看到Linux的Samba服务器
- 在网上看到的,一些获取值得方法
- 网上看到的,,关于限制带宽的,,
- springmvc研究(网上看到的,觉得挺不错)
- 在网上看到了一些ios中可能会常用的日期处理
- 在网上看到SpiceWorks是一个免费但很强大的HELPDESK系统
- 网上看到一个正方形和圆的渐变动态图片,发现再深度延伸一下,同样好看
- 上交复试07年机考题(old bill)