OJ:Codeforces
NickHdx
有一口气点一盏灯
展开
-
CF:281A.Word Capitalization
#include#includeusing namespace std;int main(){ string str; while(cin>>str){ if(str[0]>=97) str[0]-=32; cout<<str<<'\n'; } return 0;}原创 2013-05-05 21:12:02 · 771 阅读 · 0 评论 -
CF:94A. Restoring Password
先将“0,1,2,3,4,5,6,7,8,9”所对应的的字符串保存,再用密码串的各个子串与之比较,输出相应十进制数。截取密码串获得子串,要用到substr( )函数,其参数与erase( )函数的参数一样,可以是范围,也可以是某个字符的地址。#include#includeusing namespace std;struct word{ string num;}gro[10];原创 2013-05-06 09:14:08 · 608 阅读 · 0 评论 -
CF:99A. Help Far Away Kingdom
#include#includeusing namespace std;int main(){ string num; while(cin>>num){ for(int i=0;i<num.length();++i){ if(num[i]=='.'){ if(num[i-1]=='9'){原创 2013-05-06 09:05:32 · 641 阅读 · 0 评论 -
CF:108A. Palindromic Times
因为只有24个小时,所以这道题用了“傻瓜式”的方法,如果数再大一点的话,就得另想法子了。这道题要比较的次数不较多所以用string类是再好不过的了。#include#includeusing namespace std;int main(){ string t; while(cin>>t){ string h=t.substr(0,2);原创 2013-05-06 09:19:34 · 1204 阅读 · 2 评论 -
CF:43A. Football
简单题,边输入边计数然后比较输出即可。#include#includeusing namespace std;int main(){ int n; string goal,t1,t2; while(cin>>n){ int a=0,b=0; for(int i=0;i<n;++i){ cin>>goal;原创 2013-05-06 08:55:09 · 621 阅读 · 0 评论 -
CF:78A. Haiku
#include#includechar fir[110],sec[110],thi[110];int main(){ while(gets(fir)!=NULL){ gets(sec); gets(thi); int a=0; for(int i=0;i<strlen(fir);i++) if(原创 2013-05-06 09:03:13 · 490 阅读 · 0 评论 -
CF:96A.Football
#include#includeusing namespace std;int main(){ string str; while(cin>>str){ int count=1; int t=1; for(int i=0;i<str.length();++i){ if(str[i]==str[i+1])原创 2013-05-05 21:08:54 · 646 阅读 · 0 评论 -
CF:208A. Dubstep
先找到字符串中所有的“WUB”,并将其转换成空格,此过程要用到 变量名.find( ) 和 变量名.replace( ) 函数,若find( )函数能找到所要找的字符串,则返回的是所找字符串第一次出现的首位置,若未找到,则返回“-1”,即npos的值;replace函数后括号里的参数必须包含替换范围和所要换成的字符串。然后将多余的空格擦除即可输出,注意不要输出头尾空格。#include#in原创 2013-05-06 08:04:57 · 587 阅读 · 0 评论 -
CF:63A. Sinking Ship
一样的,边输入边比较,保存,然后按题目所要求的顺序输出。#include#includestruct str{ char name[20]; char status[20];}crew[110];struct st{ char name[20];};int main(){ int n; while(scanf("%d",&n)!=EOF){原创 2013-05-06 08:59:10 · 759 阅读 · 0 评论 -
CF:71A.Way Too Long Words
前些天,刚看完C++中有关string类的函数的用法,但只大概地记得那些函数有什么功能,想起要用的时候再翻开网页看怎么用。使用string类输入输出(cin、cout)字符串的确比C中输入输出字符串方便,要多次输入的时候在while后的括号里不用EOF或NULL,只需while(cin>>+string变量)即可。#include#includeusing namespace std;i原创 2013-05-05 20:29:41 · 541 阅读 · 0 评论 -
CF:219A. k-String
每个不同字符的个数若能被阶数K整除,则能输出K阶相同字符串相连,否则不能,则输出“-1”。#include#include#includeusing namespace std;char s[1010],b[1010];int a[1010];int main(){ int k; while(cin>>k){ cin>>s; mems原创 2013-05-06 08:30:50 · 587 阅读 · 0 评论 -
CF:141A.Amusing Joke
为了便于一次性比较,先将输入的前两个字符串连接起来,string类字符串用运算符“+”即可,就相当于C中的strcat( );连接函数。然后将连接起来后的字符串逐个与输入的第三个字符串比较,看是否能找到匹配,若找到匹配则另标记标量被赋值为1,并将第三个字符串中匹配的字符删除,以免下次重复比较,此过程中用到string类中的擦除函数:变量名.erase( ); 此函数括号里的参数可以是一个区间,也可原创 2013-05-05 21:43:41 · 631 阅读 · 0 评论 -
CF:59A. Word
#include#includeusing namespace std;int main(){ string s; while(cin>>s){ int low=0,up=0; for(int i=0;i<s.length();++i){ if(s[i]>=65&&s[i]<=90) ++up;原创 2013-05-06 08:35:01 · 754 阅读 · 0 评论 -
CF:291B. Command Line Arguments
要输出的参数两侧有两种情况,可能由“ ”包着,也可能由空格包着,所以得根据情况判断。要注意首位置和末位置为要输出参数时,条件不一样。#include#includechar s[1000000];int main(){ while(gets(s)!=NULL){ int a,p; int len=strlen(s); a=0;原创 2013-05-06 08:51:26 · 695 阅读 · 0 评论 -
CF:112A.Petya and Strings
要比较string类字符串大小时,只需用关系运算符(>,==,#include#includeusing namespace std;int main(){ string s1; string s2; while(cin>>s1>>s2){ for(int i=0;i<s1.length();++i){ if(s1[i]<=原创 2013-05-05 20:59:24 · 1006 阅读 · 0 评论 -
CF:58A. Chat room
使用循环嵌套,且循环变量不变,一直是i,只要其中的一个循环到头了,所有的循环也就到头了。#include#includeusing namespace std;int main(){ string word; int t; while(cin>>word){ for(int i=0;i<word.length();++i){原创 2013-05-05 21:50:08 · 877 阅读 · 0 评论 -
CF:41A. Translation
这题用string类函数的话反而显得麻烦,但值得一试,用了一下rbegin( )和rend( )函数。其中用到反向迭代器reverse_iterator,现在还没弄懂其运作原理,待有时间再认真研究研究,总之要明白rbegin( )从反向开始,rend( )从反向结束。#include#includeusing namespace std;int main(){ string s,原创 2013-05-06 08:23:03 · 629 阅读 · 0 评论 -
CF: 118A.String Task
要获得用string类定义的字符串变量的长度,有两个函数可用,一是:变量名.size();二是:变量名.length();两者没有区别,类似于C中的strlen()函数。“ length是因为沿用C语言的习惯而保留下来的,string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。”----流言飞语原创 2013-05-05 20:49:29 · 651 阅读 · 0 评论 -
CF:259A. Little Elephant and Chess
经分析,只要有一行有相邻的两个字符相同,就不能转换成题目所要求的。#include#includeusing namespace std;int main(){ string c[8]; while(cin>>c[0]){ for(int i=1;i<8;++i) cin>>c[i]; int t=1;原创 2013-05-06 08:41:55 · 976 阅读 · 0 评论