#include<stdio.h> #include <string.h> //const int MAXN = 1e9 + 10; 写了这句的话,再在主函数外面写char s就会报错 //char s还不能写在main函数里面,否则也报错。离谱,不知道是OJ问题,还是其他什么问题 char s[10000000]; //这里只有10^7 int main(){ scanf("%s",s); int len=strlen(s); for(int i=0;i<len;i++){ if(s[i]!=s[i+1]) printf("%c",s[i]); } return 0; } //这种写法虽然可以, 但OJ直接runtime error,因为循环太多次了。 //const int MAXN = 1e9 + 10; //int main(){ // char s[MAXN]; // scanf("%s", s); // int len = strlen(s); // int yidong = 0; // for(int i=0; i<len; i+=yidong){ // int cnt = 0; // for(int j=i+1; j<len; j++){ // if(s[i] == s[j]){ // s[j] = '*'; // cnt++; // } // } // yidong = cnt+1; // } // for(int i=0; i<len; i++){ // if(s[i] != '*'){ // printf("%c", s[i]); // } // } // printf("\n"); // return 0; //} |
Double click to view unformatted code.