Submission #72144076
Source Code Expand
Copy
#include <stdio.h>#include <stdlib.h>#include <string.h>char* sousa(const char* str) {char* result = malloc(strlen(str) * 2 + 1);int i, combo = 1, pos = 0;if (result == NULL) exit(2);if (*str == '\0') {result[0] = '\0';return result;}for (i = 1; ; i++) {if (str[i] != str[i - 1]) {pos += sprintf(result + pos, "%d%c", combo, str[i - 1]);combo = 1;if (str[i] == '\0') {result[pos] = '\0';return result;}} else {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* sousa(const char* str) {
char* result = malloc(strlen(str) * 2 + 1);
int i, combo = 1, pos = 0;
if (result == NULL) exit(2);
if (*str == '\0') {
result[0] = '\0';
return result;
}
for (i = 1; ; i++) {
if (str[i] != str[i - 1]) {
pos += sprintf(result + pos, "%d%c", combo, str[i - 1]);
combo = 1;
if (str[i] == '\0') {
result[pos] = '\0';
return result;
}
} else {
combo++;
}
}
}
int main(void) {
int n, i;
char *str = malloc(128);
if (str == NULL) return 2;
if (scanf("%d", &n) != 1) return 1;
if (scanf("%127s", str) != 1) return 1;
for (i = 0; i < n; i++) {
char *newstr = sousa(str);
free(str);
str = newstr;
}
puts(str);
free(str);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - JOI 2006 本選 問題2 |
| User | mikecat |
| Language | C23 (GCC 14.2.0) |
| Score | 20 |
| Code Size | 813 Byte |
| Status | AC |
| Exec Time | 4 ms |
| Memory | 1776 KiB |
Judge Result
| Set Name | set01 | set02 | set03 | set04 | set05 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 4 / 4 | 4 / 4 | 4 / 4 | 4 / 4 | 4 / 4 | ||||||||||
| Status |
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| set01 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 0 ms | 1708 KiB |
| data2 | AC | 0 ms | 1720 KiB |
| data3 | AC | 0 ms | 1624 KiB |
| data4 | AC | 0 ms | 1680 KiB |
| data5 | AC | 4 ms | 1776 KiB |