题目1031:xxx定律

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:5153

解决:3298

题目描述:
    对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。
    请计算需要经过几步才能将n变到1,具体可见样例。
输入:
    测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)
输出:
    对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
样例输入:
3
1
0
样例输出:
5
0
来源:
2009年浙江大学计算机及软件工程研究生机试真题
 #include <cstdio>
#include<algorithm>
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
using namespace std;
struct point{
int dis,cost;
};
point p[];
int map[][][];
#define inf 999999999
int main(){
//freopen("D://INPUT.txt","r",stdin);
int n,m;
while(cin>>n>>m&&n&&m){
int i=,j;
for(i=;i<=n;i++){
for(j=;j<=n;j++){
map[i][j][]=inf;
map[i][j][]=inf;
}
}
i=;
for(;i<m;i++){
int a,b;
cin>>a>>b;
cin>>map[b][a][]>>map[b][a][];
map[a][b][]=map[b][a][];
map[a][b][]=map[b][a][];
}
int s,e;
cin>>s>>e;
//cout<<s<<e<<endl;
p[s].cost=;
p[s].dis=;
i=;
for(;i<=n;i++){
if(i==s)
continue;
p[i].dis=map[s][i][];
p[i].cost=map[s][i][];
}
i=;
for(;i<n;i++){
int j,min=inf,k;
for(j=;j<=n;j++){
if(p[j].dis&&p[j].dis<min){
min=p[j].dis;
k=j;
}
}
if(k==e){
break;
}
for(j=;j<=n;j++){
if(p[j].dis>p[k].dis+map[k][j][]){
p[j].dis=p[k].dis+map[k][j][];
p[j].cost=p[k].cost+map[k][j][];
}
else{
if(p[j].dis==p[k].dis+map[k][j][]){
p[j].cost=p[k].cost+map[k][j][]>p[j].cost?p[j].cost:p[k].cost+map[k][j][];
}
}
}
p[k].dis=;
}
cout<<p[e].dis<<' '<<p[e].cost<<endl;
}
return ;
}
/**************************************************************
Problem: 1008
User: Deribs4
Language: C++
Result: Accepted
Time:20 ms
Memory:9416 kb
****************************************************************/

最新文章

  1. java-mvc
  2. php接口post提交方法 (改良版)
  3. lamp环境编译错误
  4. MVC 项目 在前台使用DataTable
  5. NOIP2011 Mayan游戏
  6. 外键约束列并没有导致大量建筑指数library cache pin/library cache lock
  7. Nginx Http模块开发
  8. java中读取程序运行时间
  9. UIImage 和 UIImageView区别
  10. 集成 ssh第一阶段
  11. DEMO大全,超赞【申明:来源于网络】
  12. web应用
  13. validator js验证器
  14. (转)Python全能自动化开发环境软件之pyenv的安装说明
  15. bootstrap table 解析写死的json.并且把进度条放进列中。
  16. 获取cookie,设置cookie,删除cookie
  17. HDU4499 Cannon DFS 回溯的应用
  18. 为什么原生的servlet是线程不安全的而Struts2是线程安全的?
  19. 【软件创意】智能Goals (android)
  20. 别让CDN的回源把你的服务器拖垮,采用正确的回源策略

热门文章

  1. TunnelBroker for EdgeRouter 后记
  2. shiro注解@RequiresPermissions多权限任选一参数用法
  3. Django集成TinyMCE(admin后台+前台)
  4. C#面向对象二
  5. KVM 安装 VMware 虚拟机
  6. JSON与XML比较
  7. window.onload和JQuery中$(function(){})的区别即其实现原理
  8. jquery将json数据放入表格当中
  9. Nginx 常用命令总结
  10. sql 列集合