标签:bbb 字符串 ++ display 一个 problem 长度 data isp
发布时间: 2018年4月9日 15:09 最后更新: 2018年4月9日 17:54 时间限制: 1000ms 内存限制: 128M
某日,食堂窗口推出一款新美食,每个班的同学都想去尝一尝。于是,很多人都去这个窗口排队,但是,队伍中如果同班同学相邻站着的话,他们就只需要一个人排在队伍中就行了。例如某次队伍情况:12221133345678899,那么就会变成一条新的队伍:1213456789。
输入有多组数据,对于每组数据只有一行长度不超过100的字符串。(该字符串只包含数字和字母)
输出新串。
12221133345678899
aabbbbbbbccccddeeeeffgg
1213456789
abcdefg
字符串的水题还是不太熟练啊。
像这种简单题要尽量做到秒杀。
我的代码:
#include <cstdio> #include <cstring> int main() { char a[101]; while (scanf("%s", a) != EOF) { char b[101]; int i, j; int len = strlen(a); int cur = 0; for (i = 0; i < len;) { j = i + 1; b[cur++] = a[i]; while (a[j] == a[j - 1]) { j++; } i = j; } for (i = 0; i < cur; i++)printf("%c", b[i]); printf("\n"); } return 0; }
精简代码:
#include<cstdio> #include<cstring> int main() { //freopen("data.in","r",stdin); char s[110]; while(scanf("%s",s)!=EOF)//多组输入格式 { printf("%c",s[0]); for(int i=1;i<strlen(s);i++) { if(s[i]==s[i-1]) continue; printf("%c",s[i]); } printf("\n"); } return 0; }
2018-04-11
标签:bbb 字符串 ++ display 一个 problem 长度 data isp
原文地址:https://www.cnblogs.com/00isok/p/8798358.html