zoukankan      html  css  js  c++  java
  • nyoj_264_国王的魔镜_201311271800

    国王的魔镜

    时间限制:3000 ms  |           内存限制:65535 KB
    难度:1
     
    描述
    国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。

    比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。

    给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。

     
    输入
    第一行是一个整数N(N<=10)表示测试数据的组数) 每组测试数据占一行 只有一个字符串(长度小于100),由大写英文字母组成,表示最终的项链。
    输出
    每组测试数据的输出只有一个整数,表示国王没使用魔镜前,最初的项链可能的最小长度。
    样例输入
    2
    ABBAABBA
    A
    样例输出
    2
    1
    来源
    2008年小学生程序设计友谊赛试题
     1 #include <stdio.h>
     2 #include <string.h>
     3 int main()
     4 {
     5     int n;
     6     scanf("%d",&n);
     7     getchar();
     8     while(n--)
     9     {
    10         int m,i,k,t=0;
    11         char s[110];
    12         gets(s);
    13         m=strlen(s);
    14         if(m%2!=0) printf("%d
    ",m);
    15         else
    16         {
    17             while(m-1)
    18             {         
    19                 for(k=i=0;i<m/2;i++)
    20                 {
    21                    if(s[i]==s[m-i-1])
    22                    {
    23                         k++;
    24                     }
    25                 }
    26                 if((k==m/2)&&(m%2==0))
    27                 {t=k;m=m/2;}
    28                 else
    29                 {t=m;m=1;}
    30             }
    31             printf("%d
    ",t);
    32        }
    33     }
    34     return 0;
    35 }


    wa了n多次,一直忽略了(aaaaaa答案为3)这组测试数据

    n天后的今天终于ac!

  • 相关阅读:
    Spring 基础知识
    AJAX 基础知识
    Struts2 基础知识
    数据库——视图
    JAVA常见的集合类知识
    jsp同一应用中页面间传值方式
    mongodb 设置数据库管理员登录权限
    java freemark生成word文档
    java 多个文件打包zip
    easyui form提交文件(上传图片和文件)
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3446351.html
Copyright © 2011-2022 走看看