• 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 }
  • 相关阅读:
    java获取指定目录中的文件列表
    windows下从命令行编译运行程序
    《操作系统》第3讲:“启动、中断、异常和系统调用”总结
    系统调用
    操作系统启动干啥了?
    基于LM2733升压电路设计
    Xftp远程连接出现“无法显示文件夹”的问题补充
    gVim 的安装以及配置
    ePx Server 服务端接口文档
    UE4C++(1)添加组件
  • 原文地址:https://www.cnblogs.com/acplayfacm/p/3858836.html
Copyright © 2020-2023  润新知