2016春季学习——模拟
来源:互联网 发布:单片机wifi模块 编辑:程序博客网 时间:2024/04/27 22:48
来源:HDU4161
题意很简单,就不说了。。。感觉由于经常由于模拟导致TLE有的时候都不敢去模拟了,不过这一题就是模拟水过去了。。。
只有一个技巧,模拟超过一定次数后(比如超时了,就可以认为是无解了)。。。无语了。。。
AC代码(VJ):
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int MAXN=30;int a[MAXN];int b[MAXN];int n;int moni(){ int i; int cnt=1; bool flag; while(cnt<1000){ for(i=0;i<n-1;i++) b[i]=fabs(fabs(a[i+1])-fabs(a[i])); b[n-1]=fabs(fabs(a[n-1])-fabs(a[0])); flag=true; for(i=1;i<n;i++) if(b[0]!=b[i]){ flag=false; break; } if(flag==false){ for(i=0;i<n;i++) a[i]=b[i]; cnt++; continue; } else return cnt; } return -1;}int main(){int k=1;while(scanf("%d",&n)!=EOF&&n){ for(int i=0;i<n;i++) scanf("%d",&a[i]); printf("Case %d: ",k++); memset(b,0,sizeof(b)); int re=1; for(int i=1;i<n;i++) if(a[0]!=a[i]){ re=0; break; } if(re==1){ printf("0 iterations\n"); continue; } int ans; ans=moni(); if(ans==-1) printf("not attained\n"); else printf("%d iterations\n",ans);}return 0;}
0 0
- 2016春季学习——模拟
- 2016春季学习——递推
- 2016春季学习——追逐
- 2016春季学习(1)——递推
- 2016春季学习(2)——递推
- 2016春季训练——哈希
- 2016春季训练——树状数组
- 2016春季训练——贪心
- 2016春季练习——贪心
- 2016春季练习——贪心
- 2016春季练习——水题
- 2016春季练习——二次筛
- 2016春季练习——dfs爆搜
- 2016春季练习——位运算
- 2016春季练习——母函数
- 2016春季练习——拓扑排序
- 2016春季练习——DP
- 2016春季练习——二分+贪心
- 触摸事件
- hdu 1593(数学)
- 关于IList、IQueryable、IEnumerable与Func、Expression的关系
- VNC 登录上去灰屏,没有shell脚本,鼠标变成X
- linux下使用编译使用GeoIp 出现问题
- 2016春季学习——模拟
- LeetCode(40)-Combination Sum II
- 采用nginx让多个tomcat实现负载均衡
- 第一天
- HDU 1003 Max Sum(DP)
- Service详解一
- 分享链接
- tomcat的配置
- onTouchListener和onTouch的优先级