-
Notifications
You must be signed in to change notification settings - Fork 1
/
t2.c
24 lines (20 loc) · 2.53 KB
/
t2.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
if(argc != 1) {
fprintf(stderr, "usage: <exercise.exe> | %s\n", argv[0]);
return 1;
}
char string[] = "ICAgZGF0YXR5cGUgLSByZXByZXNlbnQgYSBudW1iZXIgb2YgYml0cyBpbiBhIHR5cGVkIHdheS4KICAgQXNpZGU6IG1vc3Qgb2YgdGhlc2UgaGF2ZSBhbiAiaW1wbGVtZW50YXRpb24gZGVmaW5lZCIgbnVtYmVyIG9mIGJpdHMsIGJlIGNhcmVmdWwuCgogICBjaGFyID0gZGF0YXR5cGUgdGhhdCBpcyA4IGJpdHMuCgogICAnXDAnID0gMGIwMDAwMDAwMCB8fCBhIGNoYXIgd2l0aCBhbGwgemVybyBpbiBpdCdzIGJpdHMuCgogICAxX2FsbG9jYXRpb24gPSBtZW1vcnkgX3dpdGggbm8gYnJlYWtzXyBhc3NpZ25lZCB0byB0aGUgcHJvZ3JhbS4KCiB6IHBvaW50ZXIgPSBkYXRhdHlwZSB0aGF0IGlzIDEgbWVtb3J5IGFkZHJlc3MuCgogeiBzdHJpbmcgPSBwb2ludGVyIHRvIDFfYWxsb2NhdGlvbiBjb250YWluaW5nIGNoYXIuCiB6IChjaGFyICB2W10pID0gc3RyaW5nLCBkYXRhIGlzIHN0b3JlZCBpbiB2LiAgICAgICAgICBkYXRhIGlzIGNoYXIuCiB6IChjaGFyICp2ICApID0gc3RyaW5nLCBkYXRhIGlzIHN0b3JlZCBhdCBsb2NhdGlvbiB2LiBkYXRhIGlzIGNoYXIuCiAgIE5vdGU6IE9ubHkgc3RyaW5nIGxpdGVyYWxzIGVnLiBgY2hhciBleFtdID0gImZvbyI7YCBhdXRvbWF0aWNhbGx5IGhhdmUgJ1wwJyBhZGRlZCB0byB0aGUgZW5kIGJ5IHRoZSBsYW5ndWFnZS4KICAgTm90ZTogZnVuY3Rpb25zIHRoYXQgdGFrZSBhIHN0cmluZyBpbnB1dCByZXF1aXJlIGVpdGhlciAoJ1wwJyBhdCB0aGUgZW5kKSBvciAoYSBsZW4gcGFyYW1ldGVyLikKCiAgIHggPSBhbnkgdmFsdWUgZnJvbSB0aGUgc2V0IG9mICgxLDIsMyw0LC4uLikKICAgayA9IGFueSB2YWx1ZSBmcm9tIHRoZSBzZXQgb2YgKDAsMSwyLDMsNCwuLi4pCiAgIHYgPSBhIHZhcmlhYmxlIHRoYXQgc3RhcnRzIHdpdGggKDphbHBoYTogb3IgJ18nKSBjYW4gY29udGFpbiAoOmFscGhhbnVtOiBhbmQgJ18nKQogeiBzdHJpbmdfYXJyYXkgPSBwb2ludGVyIHRvIDFfYWxsb2NhdGlvbiBjb250YWluaW5nIHBvaW50ZXIgdG8gc3RyaW5nCiB6IChjaGFyICAgdlt4XVtdKSA9IHN0cmluZ19hcnJheSwgZGF0YSBpcyBzdG9yZWQgaW4gdltrXS4gICAgICAgICAgZGF0YSBpcyBzdG9yZWQgaW4gdi4gICAgICAgICAgZGF0YSBpcyBjaGFyLgogeiAoY2hhciAgKnZbXSAgICkgPSBzdHJpbmdfYXJyYXksIGRhdGEgaXMgc3RvcmVkIGF0IGxvY2F0aW9uIHZba10uIGRhdGEgaXMgc3RvcmVkIGluIHYuICAgICAgICAgIGRhdGEgaXMgY2hhci4KIHogKGNoYXIgKip2ICAgICApID0gc3RyaW5nX2FycmF5LCBkYXRhIGlzIHN0b3JlZCBhdCBsb2NhdGlvbiB2W2tdLiBkYXRhIGlzIHN0b3JlZCBhdCBsb2NhdGlvbiB2LiBkYXRhIGlzIGNoYXIuCgpmb290bm90ZTogKHopIG1lYXQgYW5kIHBvdGF0b2VzLgoKc3RyaW5ncyBhbmQgc3RyaW5nX2FycmF5cwoKZGF0YXR5cGUgbGlzdF90W10gPSB7Y2hhciwgaW50LCBjaGFyIHZbXSwgY2hhciAqdltdfQoKZm9yKGludCBpID0gCmxpc3RfdCBsMSA9IGxpc3RfMQpsaXN0X3QgbDIgPSBsaXN0XzIKbGlzdF90IGwzID0gYXJndjEKMTogb3V0cHV0IGwxCjI6IG91dHB1dCBsMgozOiBvdXRwdXQgbGVuKGwzKSA8IDEwCjQ6IG91dHB1dCBsZW4obDMpIDwgeAo1OiBvdXRwdXQgbDMKCmNvdW50Cgo=";
const int buf_sz = strlen(string) + 32;
char expected[buf_sz];
char got[buf_sz];
sprintf(expected, "%s\n", string);
fgets(got, buf_sz, stdin);
if(strcmp(expected, got) == 0)
puts("Pass!");
else
puts("fail.");
return 0;
}