首页 > 代码库 > hnu 7/19 A Broken Audio Signal
hnu 7/19 A Broken Audio Signal
http://acm.hnu.cn/online/?action=problem&type=show&id=12812
需要注意的细节很多 唉 看了modiz的代码 写出来的 自己代码能力太弱了 模拟题 atoi的头文件是stdio.h
1 #include<iostream> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cstdio> 5 using namespace std; 6 #define ll __int64 7 char a[1100][1100]; 8 int b[1100]; 9 int n;10 int main(){11 int i,j;12 while(cin>>n &&n){13 int t=0;14 int f=0,o=0;15 for(i=1;i<=n;i++){16 cin>>a[i];17 if(o>=2) f=1;18 if(strstr(a[i],"x")) o++;19 else o=0;20 if(strstr(a[i],"x")==NULL && i!=1 && strstr(a[i-1],"x")==NULL){21 int k1=atoi(a[i]);22 int k2=atoi(a[i-1]);23 if(i%2==0){24 if(k1<=k2) f=1;25 }26 else if(k1>=k2) f=1;27 }28 if(strstr(a[i],"x"))29 b[t++]=i;30 }31 if(f==1 || t==n){32 cout<<"none"<<endl;33 continue;34 }35 else if(t==0){36 cout<<"ambiguous"<<endl;37 continue;38 }39 ll min=-1e9-100,max=1e9+100;40 for(i=0;i<t;i++){41 if(b[i]%2==0){42 if(strstr(a[b[i]-1],"x")==NULL && b[i]-1!=0){43 int k=atoi(a[b[i]-1]);44 if(min<k) min=k;45 }46 if(strstr(a[b[i]+1],"x")==NULL && b[i]+1<=n){47 int k=atoi(a[b[i]+1]);48 if(min<k) min=k;49 }50 }51 else {52 if(strstr(a[b[i]-1],"x")==NULL && b[i]-1!=0){53 int k=atoi(a[b[i]-1]);54 if(max>k) max=k;55 }56 if(strstr(a[b[i]+1],"x")==NULL && b[i]+1<=n){57 int k=atoi(a[b[i]+1]);58 if(max>k) max=k;59 }60 }61 }62 //cout<<"max="<<max<<"min="<<min<<endl;63 if(max-min==2) cout<<min+1<<endl;64 else if(max-2>min) cout<<"ambiguous"<<endl;65 else cout<<"none"<<endl;66 }67 return 0;68 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。