[물 문제] HDOJ 1020
4346 단어 코드
이 문 제 는 일반적인 매 거 입 니 다. 조리 가 분명 하면 문제 가 없습니다. 다음 과 같은 코드 를 너무 많이 사용 하면 if else 가 시간 을 초과 할 수 있 습 니 다.
#include <stdio.h>
#include <string.h>
int main()
{
int N,i,n,j;
char a[1001];
int count=1;
while (scanf ("%d",&N)!=EOF)
{
for (j=0;j<N;j++){
scanf ("%s",a);
n=strlen(a);
for (i=1;i<n;i++)
if (a[i]==a[i-1]){
count++;
if (i==n-1)
printf ("%d%c",count,a[i]);}
else {
if (count==1)
printf ("%c",a[i-1]);
else
printf ("%d%c",count,a[i-1]);
count=1;
if (i==n-1)
printf ("%c",a[i]);
count=1;}
printf ("
");
count=1;
}
}
return 0;
}
정확 한 코드
#include <cstdio>
#include <string.h>
int main(){
int t;
char str[10001];
scanf("%d",&t);
while(t--){
scanf("%s",str);
int count=1;
for(int i=0;i<strlen(str);i++){
if(str[i]==str[i+1])count++;
else{
if(count==1) printf("%c",str[i]);
else printf("%d%c",count,str[i]);
count=1;
}
}
printf("
");
}
}