結果

問題 No.3109 Swap members
ユーザー mutv625
提出日時 2025-04-19 19:10:01
言語 C#
(.NET 8.0.404)
結果
AC  
実行時間 273 ms / 2,000 ms
コード長 1,332 bytes
コンパイル時間 13,182 ms
コンパイル使用メモリ 171,884 KB
実行使用メモリ 190,060 KB
最終ジャッジ日時 2025-04-19 19:10:23
合計ジャッジ時間 15,597 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 52
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (143 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

string[] innum = Console.ReadLine().Trim().Split(' ');
int n = int.Parse(innum[0]);
int k = int.Parse(innum[1]);

string[] s = new string[n];
for (int i = 0; i < n; i++)
{
    s[i] = Console.ReadLine();
}
string[] t = new string[n];
for (int i = 0; i < n; i++)
{
    t[i] = Console.ReadLine();
}

// Console.WriteLine("s: " + string.Join(", ", s));
// Console.WriteLine("t: " + string.Join(", ", t));

bool flag_1 = true;
bool flag_2 = true;

if (n - k < k + 1)
{
    // Console.WriteLine("Flag 2 Checking");
    for (int i = n-k; i < k; i++)
    {
        if (s[i] != t[i])
        {
            flag_2 = false;
            break;
        }
    }
}

for (int i = 0; i < k; i++)
{
    List<string> s_l = new List<string>();
    List<string> t_l = new List<string>();

    s_l.Add(s[i]);
    t_l.Add(t[i]);

    int a = 1;
    while ((a-1)*k + i < n-k && a*k + i < n)
    {
        s_l.Add(s[a*k + i]);
        t_l.Add(t[a*k + i]);
        a++;
    }

    // Console.WriteLine("s_l: " + string.Join(", ", s_l));
    // Console.WriteLine("t_l: " + string.Join(", ", t_l));

    if (!s_l.OrderBy(x => x).SequenceEqual(t_l.OrderBy(x => x)))
    {
        // Console.WriteLine("Flag 1 : false");
        flag_1 = false;
        break;
    }
}

if (flag_1 && flag_2)
{
    Console.WriteLine("Yes");
}
else
{
    Console.WriteLine("No");
}
0