#include <stdio.h>
#define N 5000
int check(int ka, int kb, int kc, int la, int lb, int lc) {
return ka >= 0 && kb >= 0 && kc >= 0 && ka <= lb + lc && kb <= lc + la && kc <= la + lb;
}
int main() {
static char aa[N + 1], bb[N + 1];
int n, i, ka, kb, kc, la, lb, lc;
scanf("%d%s%s", &n, aa, bb);
ka = kb = kc = 0;
for (i = 0; i < n; i++)
if (aa[i] == 'a')
ka++;
else if (aa[i] == 'b')
kb++;
else
kc++;
la = lb = lc = 0;
for (i = 0; i < n; i++)
if (bb[i] == 'a')
la++;
else if (bb[i] == 'b')
lb++;
else
lc++;
for (i = 0; i < n; i++) {
if (bb[i] == 'a')
la--;
else if (bb[i] == 'b')
lb--;
else
lc--;
if (bb[i] != 'a' && check(ka - 1, kb, kc, la, lb, lc))
aa[i] = 'a', ka--;
else if (bb[i] != 'b' && check(ka, kb - 1, kc, la, lb, lc))
aa[i] = 'b', kb--;
else
aa[i] = 'c', kc--;
}
printf("%s\n", aa);
return 0;
}
Compilation message
igra.c: In function 'main':
igra.c:13:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
13 | scanf("%d%s%s", &n, aa, bb);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
0 ms |
288 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
0 ms |
288 KB |
Output is correct |
5 |
Correct |
0 ms |
204 KB |
Output is correct |
6 |
Correct |
0 ms |
204 KB |
Output is correct |
7 |
Correct |
0 ms |
204 KB |
Output is correct |
8 |
Correct |
1 ms |
292 KB |
Output is correct |
9 |
Correct |
1 ms |
204 KB |
Output is correct |
10 |
Correct |
1 ms |
204 KB |
Output is correct |