程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 2577 How to Type - 水題

hdu 2577 How to Type - 水題

編輯:C++入門知識

[cpp]
/*
hdu 2577 How to Type
*/ 
#include<iostream>  
#include<string>  
using namespace std; 
int main() 

    string s; 
    int ret,on; 
    int t; 
    cin>>t; 
    while(t--) 
    { 
        ret=on=0; 
        cin>>s; 
        int i,len=s.length(); 
        for(i=0;i<len;++i) 
        { 
            if(s[i]>='A'&&s[i]<='Z') 
            { 
                if(on==1) 
                    ret++; 
                else 
                { 
                    if(i==(len-1)) 
                    { 
                        ret+=2; 
                    }else if(s[i+1]>='A'&&s[i+1]<='Z') 
                    { 
                        ret+=2; 
                        on=1; 
                    }else 
                    { 
                        ret+=2; 
                    } 
                } 
            }else 
            { 
                if(on==0) 
                    ret++; 
                else 
                { 
                    if(i==(len-1)) 
                    { 
                        ret+=2; 
                        on=0; 
                    }else if(s[i+1]>='a'&&s[i+1]<='z') 
                    { 
                        ret+=2; 
                        on=0; 
                    }else//大寫字母按shift也可以變大寫字母  
                    { 
                        ret+=2; 
                    } 
                } 
            } 
        } 
        if(on) 
            ret++; 
        cout<<ret<<endl; 
    } 
    return 0; 

/*
hdu 2577 How to Type
*/
#include<iostream>
#include<string>
using namespace std;
int main()
{
 string s;
 int ret,on;
 int t;
 cin>>t;
 while(t--)
 {
  ret=on=0;
  cin>>s;
  int i,len=s.length();
  for(i=0;i<len;++i)
  {
   if(s[i]>='A'&&s[i]<='Z')
   {
    if(on==1)
     ret++;
    else
    {
     if(i==(len-1))
     {
      ret+=2;
     }else if(s[i+1]>='A'&&s[i+1]<='Z')
     {
      ret+=2;
      on=1;
     }else
     {
      ret+=2;
     }
    }
   }else
   {
    if(on==0)
     ret++;
    else
    {
     if(i==(len-1))
     {
      ret+=2;
      on=0;
     }else if(s[i+1]>='a'&&s[i+1]<='z')
     {
      ret+=2;
      on=0;
     }else//大寫字母按shift也可以變大寫字母
     {
      ret+=2;
     }
    }
   }
  }
  if(on)
   ret++;
  cout<<ret<<endl;
 }
 return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved