百度之星资格赛 E题 C++ 与Java

原创 2015年07月07日 13:15:34

题意:中文题,不说了

解法:这道题我没有什么好的方法,就是单个判断,话说,这道题考虑的情况好多,wa了7次才过,各种纠结。。。

ac代码:

  1. #include <iostream>  
  2. #include <string.h>  
  3. #include <string>  
  4. #include <cstdio>  
  5.   
  6. using namespace std;  
  7.   
  8. int main(){  
  9.     //freopen("1.txt","r",stdin);  
  10.     int cnt = 1;  
  11.     string ss;  
  12.     char ch[110];  
  13.     while(gets(ch)){  
  14.       //scanf("%s",ch);  
  15.         //puts("ch");  
  16.       int flag1 = 0,flag2 = 0,flag3 = 0;  
  17.       int len = strlen(ch);  
  18.       for(int i = 0;i < len;++i){  
  19.          if(ch[i] == '_')  
  20.              flag1 = 1;  
  21.          if(flag1 && ch[i] >= 'A' && ch[i] <= 'Z')  
  22.              flag2 = 1;  
  23.          if(ch[i] == '_' && ch[i+1] == '_'){  
  24.            flag3 = 1;  
  25.            break;  
  26.          }  
  27.          if(flag1 == 1 && flag2 ==1){  
  28.            flag3 = 1;  
  29.            break;  
  30.          }  
  31.          if(!((ch[i] >= 'a' && ch[i] <= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z') || (ch[i] == '_') )){  
  32.            flag3 = 1;  
  33.            break;  
  34.          }  
  35.       }  
  36.       if(!(ch[0] >= 'a' && ch[0] <= 'z'))  
  37.           flag3 = 1;  
  38.       if(!((ch[len-1] >= 'a' && ch[len-1] <= 'z') || (ch[len-1] >= 'A' && ch[len-1] <= 'Z')))  
  39.           flag3 = 1;  
  40.      // printf("输出样例%d:\n",cnt++);  
  41.       if(flag3 == 1){  
  42.         puts("Error!");  
  43.         continue;  
  44.       }  
  45.       int b1 = 0,b2 = 0;  
  46.       for(int i = 0; i < len;++i){  
  47.           if(ch[i] == '_'){  
  48.             b1 = 1;  
  49.             break;  
  50.           }  
  51.       }  
  52.       if(!b1) b2 = 1;  
  53.       if(b1 == 1){  
  54.           for(int i = 0;i < len;++i){  
  55.               if(ch[i] == '_'){  
  56.                 ch[i+1] = ch[i+1] - 32;  
  57.               }  
  58.           }  
  59.           for(int i = 0;i < len;++i){  
  60.             if(ch[i] == '_')  
  61.                 continue;  
  62.             printf("%c",ch[i]);  
  63.           }  
  64.           printf("\n");  
  65.       }  
  66.       char c;  
  67.       int flag4 = 0;  
  68.       if(b2 == 1){  
  69.           for(int i = 0;i < len;++i){  
  70.               if(ch[i+1] >= 'A' && ch[i+1] <= 'Z'){  
  71.                  c = '_';  
  72.                  flag4 = 1;  
  73.                  ch[i+1] = ch[i+1] + 32;  
  74.               }  
  75.               printf("%c",ch[i]);  
  76.               if(flag4){  
  77.                 printf("%c",c);  
  78.                 flag4 = 0;  
  79.               }  
  80.           }  
  81.           printf("\n");  
  82.       }  
  83.     }  
  84.     return 0;  
  85. }  
版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。

相关文章推荐

2012年百度之星资格赛 E:C++ 与Java(不是水题胜似水题)

http://baidu.openjudge.org/qual/E/ E:C++ 与Java 查看提交统计提问 时间限制: 2000ms内存限制: 65536kB 描述...

百度之星资格赛——E题

E:C++ 与Java 时间限制: 2000ms 内存限制: 65536kB 描述 在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好...

【2012百度之星/资格赛】E:C++ 与Java

时间限制: 2000ms 内存限制: 65536kB 描述 在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好者会说他们的程...
  • ituff
  • ituff
  • 2012-05-29 20:22
  • 1646

【2012百度之星资格赛】E:C++ 与Java

时间限制:  2000ms  内存限制:  65536kB 描述 在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好者...

百度之星2016 资格赛 java 代码实现

Problem B Accepts: 1134 Submissions: 4389 Time Limit: 2000/1000 MS (Java/Others) Memory Limit:...

2016"百度之星" - 资格赛(Astar Round1)(Problem-B)(Java 水)

Problem B    Accepts: 1884    Submissions: 7013  Time Limit: 2000/1000 MS (Java/Others)    Memory L...

2016"百度之星" - 资格赛(Astar Round1)Problem A B C D--java代码

Problem Description 度熊手上有一本字典存储了大量的单词,有一次,他把所有单词组成了一个很长很长的字符串。现在麻烦来了,他忘记了原来的字符串都是什么,神奇的是他竟然记得原来那些字符...

百度之星资格赛——H题

H:用户请求中的品牌 时间限制: 1000ms 内存限制: 65536kB 描述 馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说...

2014 百度之星 资格赛 第一题 Energy Conversion 解题思路

本次比赛的初赛似乎比以往来的要

2012百度之星资格赛 J:百度的新大厦(不是水题胜似水题)

http://baidu.openjudge.org/qual/J/ J:百度的新大厦 查看提交统计提问 时间限制: 1000ms内存限制: 65536kB 描述 继...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)