본문 바로가기
Computer Science

이진 문자열 복원

by OKOK 2019. 2. 8.

1. 규칙을

2. 수식화해서

3. 코딩함 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
 
int T, a, b, c, d, i;
 
int main(void)
{
    freopen("input.txt""r", stdin);
    scanf("%d"&T);
    for (int tc = 1; tc <= T; ++tc)
    {
        scanf("%d%d%d%d"&a, &b, &c, &d);
        printf("#%d ", tc);
        if (b <= 0 && c <= 0)
        {
            if (a > 0 && d > 0)
            {
                printf("impossible");
            }
            else
            {
                if (a > 0for (i = 0; i <= a; ++i) printf("0");
                else       for (i = 0; i <= d; ++i) printf("1");
            }
        }
        else
        {
            if (b - c >= -1 && b - c <= 1)
            {
                if (b >= c)
                {
                    for (i = 0; i < a; ++i) printf("0");
                    for (i = 0; i < b; ++i) printf("01");
                    for (i = 0; i < d; ++i) printf("1");
                    if (b == c)              printf("0");
                }
                else
                {
                    for (i = 0; i < d; ++i) printf("1");
                    for (i = 0; i < c; ++i) printf("10");
                    for (i = 0; i < a; ++i) printf("0");
                }
            }
            else
            {
                printf("impossible");
            }
        }
        puts("");
    }
    return 0;
}
 
cs

 


'Computer Science' 카테고리의 다른 글

Intersection  (0) 2019.02.10
팰린드롬  (0) 2019.02.10
운동  (0) 2019.02.07
  (0) 2019.02.03
조합  (0) 2019.02.03

댓글