tjut 4972
2016-07-25 16:01
316 查看
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> using namespace std; const int maxn=1e5+100; int n,a[maxn]; int main() { int T,cas=1; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); bool is=true; for(int i=2;i<=n;i++) if(abs(a[i]-a[i-1])>3||(a[i]==a[i-1]&&a[i]!=1)) { is=false; break; } if(!is) { printf("Case #%d: 0\n",cas++); continue; } int cnt=0; for(int i=2;i<=n;i++) { if(a[i]==2&&a[i-1]==1) cnt++; if(a[i]==1&&a[i-1]==2) cnt++; } if(a ) printf("Case #%d: %d\n",cas++,cnt*2+2); else printf("Case #%d: %d\n",cas++,cnt+1); } return 0; }
相关文章推荐
- (三)使用swftools将pdf转换为swf
- 单例模式的优缺点
- HPC-BeeGFS
- (4.6.17.5)进程保活(三:5.0以下):native保活5.0以下方案推演过程以及代码详述
- js金额格式化
- Android -- 双击退出
- binary search tree
- UVA 11149 Power of Matrix
- 你真的会用Gson吗?Gson使用指南(二)
- 基本排序算法
- proguard 参数 简介
- 类模板的小结理论篇(转)
- AsyncTask 第一篇使用篇
- JavaScript实现省市级联效果实例
- java实现定时任务
- Ubuntu下Caffe安装测试
- java中volatile关键字的解释
- 前端微信支付js代码
- final
- python多线程