Codeforces 131 A. cAPS lOCK
問題
- 全てが大文字である
- 最初の一文字が小文字であり、その他の文字が大文字である
与えられた単語が、上のいずれかの条件を満たすとき、
単語のキャピタルを全て逆にして出力せよ。
満たさないときは、単語をそのまま出力せよ。
制約条件
単語は100字以下
方針
befungeでも解けるかもしれない。
100字までってのが面倒かな?
ソースコード
void run() { string in; cin>>in; bool lower=0,ok=islower(in[0]); rep(i,in.size())if(islower(in[i]))lower=1; for(int i=1;i<in.size();i++)ok&=isupper(in[i]); if(!lower||ok)rep(i,in.size())in[i]=islower(in[i])?toupper(in[i]):tolower(in[i]); cout<<in<<endl; }