結果
問題 | No.739 大事なことなので2度言います |
ユーザー |
![]() |
提出日時 | 2023-06-14 11:22:14 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 795 bytes |
コンパイル時間 | 380 ms |
コンパイル使用メモリ | 29,824 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 21:06:21 |
合計ジャッジ時間 | 1,026 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 7 |
ソースコード
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char* S, * front, * back; int len; S = (char*)malloc(sizeof(char) * 20); if (scanf("%s%n", S, &len) != 1) { return -1; } if (len%2 != 0) { printf("NO"); return 0; } front = (char*)malloc(sizeof(char) * (len / 2) + 1); back = (char*)malloc(sizeof(char) * (len / 2) + 1); if (S == NULL || front == NULL || back == NULL) { return -1; } front[len / 2] = '\0'; back[len / 2] = '\0'; for (int i = 0; i < len; i++) { if (i < (len / 2)) { *(front + i) = *(S + i); } else { *(back + i - (len / 2)) = *(S + i); } } if (strcmp(front, back) != 0) { printf("NO"); return 0; } printf("YES"); free(S); free(front); free(back); S = NULL; front = NULL; back = NULL; return 0; }