Top ShooterHDU2863&&继续xxx定律HDU3784
2013-10-24 12:37
375 查看
继续xxx定律 HDU3784
先看这个题目:HDU3782#include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; int main() { int n,s; while(scanf("%d",&n)!=EOF) { if(n==0) break; s=0; while(n!=1) { if(n%2==0) {n=n/2;s++;} else { n=n*3+1; n=n/2; s++; } } printf("%d\n",s); } return 0; }
之后就是那个题目:YY就行了。
#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; struct line { int x,y; }a[505]; int main() { int n,d,d1,m,m1,i,j,k; int b[5005]; while(scanf("%d",&n)!=EOF) { if(n==0) break; memset(a,0,sizeof(a)); for(i=0;i<n;i++) scanf("%d",&a[i].x); m1=0; for(i=n-1;i>=0;i--) { j=0; m=a[i].x; memset(b,0,sizeof(b)); while(m!=1) { if(m%2) { m=m*3+1; m=m/2; b[j++]=m; } else { m=m/2; b[j++]=m; } } for(j=0;j<n;j++) { if(a[j].y==1) continue; d=0;d1=0; while(b[d]!=0) { if(a[j].x==b[d]) { d1=1; break; } d++; } if(d1==1) { a[j].y=1;m1++; } } } j=n-m1; if(j==1) { for(i=n-1;i>=0;i--) { if(a[i].y==0) printf("%d\n",a[i].x); } } else if(j!=1) { k=0; for(i=n-1;i>=0;i--) { if(a[i].y==0) { printf("%d ",a[i].x);k++; } if(k==j-1) break; } for(j=i-1;j>=0;j--) { if(a[j].y==0) printf("%d\n",a[j].x); } } } return 0; }
Top ShooterHDU2863
模拟题:
相关文章推荐
- 查看linux系统版本命令
- OpenCV 安装配置
- Opticks的插件创建-简介
- discuz 转换nginx服务器后 url重写规则
- Linux文件类型与扩展名
- CentOS6.4各版本说明
- 在PeopleSoft系统中实现打印页面的功能
- Linux下getsockopt/setsockopt 函数说明(转)
- RedHat Enterprise Linux 6.X系统双网卡绑定操作实例
- shell 某个日期前的某一天(待补充)
- 收集网上资料,总结得出如何同时运行多个tomcat(模拟在不同域中运行网页)
- PeopleCode 处理压缩文件
- Related content link in Dropdown List
- centos的用户、组权限、添加删除用户等操作的详细操作命令
- Linux下的sudo及其配置文件/etc/sudoers的详细配置说明
- 什么是MVC(三层架构)
- DNS CentOS 6
- SELinux是什么意思,如何关闭?Linux下的防火墙用什么命令打开?
- Debian6 安装Kscope(也适用于Ubuntu)
- Linux下如何查看系统启动时间和运行时间