zoukankan      html  css  js  c++  java
  • 2011,3.13(纠结的四小时)

      刚参加完HDUContest Ranklist,前所未有的纠结,也是前所未有的尝到了“不是努力的不够,而上效率的滞后”,一直在努力,一直期盼着能小试牛刀,一展身手。可谁想第一道题就给泼了冷水,貌似简单的面罩下隐藏着捉摸不透的不确定性因素,使劲浑身解数,最终以提交n次超时而结束,就这样抱着试试的心态开始看艰难的第二题。一看,简单!

      当带着激动的心情迅速地拿出方案并顺利地写完后,这下总该给个a鼓励鼓励了吧,感觉是标准答案了,一提交,w; 后来改了数遍,也没想明白究竟是哪儿出了错,就在最后的十几分钟突然灵感一闪,原来错的很深啊,这也是这道题的关键所在,又是算法,又是效率。。。

     看来需要改进的地方还很多,继续奋斗acm!

    View Code
    1 #include"iostream"
    2  using namespace std;
    3 char a[110],b[110];
    4 int i,j,k;
    5 int L1;
    6 int mark=0;
    7 int yy[1000],ss[1000];
    8 void Xun_huan() //实现一次循环
    9 {
    10 char ch=a[0];
    11 int ss=yy[0];
    12 for(int q=0;q<=L1-1;q++)
    13 {
    14 a[q]=a[q+1];
    15 yy[q]=yy[q+1];
    16 }
    17 a[L1-1]=ch;
    18 yy[L1-1]=ss;
    19 }
    20 void X_Sub() //将序列一分为二
    21 {
    22 char c[110],d[110];
    23
    24 for(i=0; i<L1/2; i++)
    25 c[i]=a[i];
    26
    27 int k=0;
    28 for(i=L1-1,k=0;i>=L1/2+1; i--,k++ )
    29 d[k]=a[i];
    30
    31 int flag=0;
    32 int s=0;
    33 for(i=0, s=0; i<L1/2, s<k; s++,i++)
    34 {
    35 if(c[i]==d[s]) flag++;
    36 }
    37 if(flag==L1/2) mark=1;
    38 }
    39 int main()
    40 {
    41 while(scanf("%s",a)!=EOF,a[0]!='#')
    42 {
    43
    44 char xx;
    45 mark=0;
    46 L1=strlen(a);
    47 if(L1%2==0) cout<<"NO"<<endl; //排除偶数的情况
    48 else
    49 {
    50 int mark1=0;
    51 int fuck=0;
    52 for(i=0;i<L1;i++)
    53 {
    54 if(a[i]==a[i+1]) fuck++;
    55 }
    56 if(fuck+1==L1) cout<<"YES"<<" "<<L1/2<<endl; //字符相同时
    57 else
    58 {
    59 strcpy(b,a);
    60 for(int r=0;r<L1;r++)
    61 {
    62 yy[r]=r; //用于记录循环后的位置
    63 ss[r]=r; //用于保存起始位置
    64 }
    65 for(int p=0;p<L1;p++)
    66 {
    67 xx=a[L1/2];
    68 X_Sub();
    69 if(mark==1) break;
    70 else Xun_huan();
    71 }
    72 if(mark==1)
    73 {
    74 cout<<"YES"<<" ";
    75 for(i=0;i<L1;i++)
    76 if(b[i]==xx)
    77 {
    78 cout<<yy[L1/2]<<endl; break;
    79 }
    80 }
    81 else cout<<"NO"<<endl;
    82 }
    83 }
    84 }
    85 return 0;
    86 }

      

  • 相关阅读:
    Python基础之:数字字符串和列表
    【Flutter 实战】自定义动画-涟漪和雷达扫描
    【Flutter 实战】动画序列、共享动画、路由动画
    kubernetes备份恢复之velero
    Go语言中使用K8s API及一些常用API整理
    Go SDK 操作Docker
    Kubernetes中各组件简介(一)
    HTTPS协议原理解析
    树莓派无屏上手指南
    如何优雅的进行版本回退
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1982814.html
Copyright © 2011-2022 走看看