#2
by かずま » 7年前
10日も経てば、質問者はもう見ていないでしょう。
コード:
#include <stdio.h>
void flush(int n, int a, int b)
{
if (n < 6)
while ((putchar(a), --n) && (putchar(b), --n)) ;
else
printf("*%d%c%c", n >> 1, a, b), (n & 1) && putchar(a);
}
int main(void)
{
int a, b, c, n = 0;
while ((c = getchar()) != EOF)
(n == 0) ? (a = c, n = 1) :
(n == 1) ? (b = c, n = 2) :
(n == 2) ? (c == a) ? n++ : (putchar(a), a = b, b = c) :
(n & 1) ? (c == b) ? n++ : (flush(n-1, a, b), b = c, n = 2)
: (c == a) ? n++ : (flush(n, a, b), a = c, n = 1);
flush(n, a, b);
}
10日も経てば、質問者はもう見ていないでしょう。
[code=c]
#include <stdio.h>
void flush(int n, int a, int b)
{
if (n < 6)
while ((putchar(a), --n) && (putchar(b), --n)) ;
else
printf("*%d%c%c", n >> 1, a, b), (n & 1) && putchar(a);
}
int main(void)
{
int a, b, c, n = 0;
while ((c = getchar()) != EOF)
(n == 0) ? (a = c, n = 1) :
(n == 1) ? (b = c, n = 2) :
(n == 2) ? (c == a) ? n++ : (putchar(a), a = b, b = c) :
(n & 1) ? (c == b) ? n++ : (flush(n-1, a, b), b = c, n = 2)
: (c == a) ? n++ : (flush(n, a, b), a = c, n = 1);
flush(n, a, b);
}
[/code]