結果

問題 No.2000 Distanced Characters
ユーザー 👑 ygussanyygussany
提出日時 2022-06-25 17:11:27
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 7 ms / 2,000 ms
コード長 719 bytes
コンパイル時間 308 ms
コンパイル使用メモリ 30,464 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-14 16:36:42
合計ジャッジ時間 1,328 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <stdio.h>
void chmax(int* a, int b)
{
if (*a < b) *a = b;
}
void chmin(int* a, int b)
{
if (*a > b) *a = b;
}
int main()
{
char S[200001];
int i, j, D[26][26];
scanf("%s", S);
for (i = 0; i < 26; i++) for (j = 0; j < 26; j++) scanf("%d", &(D[i][j]));
int min[26][26], last[26];
for (i = 0; i < 26; i++) last[i] = -1000000;
for (i = 0; i < 26; i++) for (j = 0; j < 26; j++) min[i][j] = 1000000;
for (i = 0; S[i] != 0; i++) {
for (j = 0; j < 26; j++) chmin(&(min[j][S[i] - 'a']), i - last[j]);
last[S[i] - 'a'] = i;
}
for (i = 0; i < 26; i++) {
for (j = 0; j < 26; j++) {
if (min[i][j] >= D[i][j]) printf("Y ");
else printf("N ");
}
printf("\n");
}
fflush(stdout);
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0