結果
問題 | No.133 カードゲーム |
ユーザー |
|
提出日時 | 2023-07-20 14:04:32 |
言語 | C# (.NET 8.0.404) |
結果 |
AC
|
実行時間 | 54 ms / 5,000 ms |
コード長 | 2,134 bytes |
コンパイル時間 | 6,925 ms |
コンパイル使用メモリ | 168,996 KB |
実行使用メモリ | 186,916 KB |
最終ジャッジ日時 | 2024-09-20 10:18:06 |
合計ジャッジ時間 | 8,939 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (82 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System;using System.Collections.Generic;using System.Linq;public class Program{public static void Main(){var n = int.Parse(Console.ReadLine());var a = new int[n];var b = new int[n];var A = Console.ReadLine().Split(' ');var B = Console.ReadLine().Split(' ');int i;for(i=0;i<n;i++){a[i] = int.Parse(A[i]);b[i] = int.Parse(B[i]);}Array.Sort(a);Array.Sort(b);var AA = AllPermutation(a);var BB = AllPermutation(b);double win = 0;foreach(var aa in AA){foreach(var bb in BB){var awin = 0;var bwin = 0;for(i=0;i<n;i++){if(aa[i]>bb[i]){awin++;}else if(aa[i]<bb[i]){bwin++;}}if(awin>bwin){win++;}}}Console.WriteLine(win/Math.Pow(AA.Count,2));}static List<T[]> AllPermutation<T>(params T[] array) where T : IComparable{var a = new List<T>(array).ToArray();var res = new List<T[]>();res.Add(new List<T>(a).ToArray());var n = a.Length;var next = true;while (next){next = false;// 1int i;for (i = n - 2; i >= 0; i--){if (a[i].CompareTo(a[i + 1]) < 0) break;}// 2if (i < 0) break;// 3var j = n;do{j--;} while (a[i].CompareTo(a[j]) > 0);if (a[i].CompareTo(a[j]) < 0){// 4var tmp = a[i];a[i] = a[j];a[j] = tmp;Array.Reverse(a, i + 1, n - i - 1);res.Add(new List<T>(a).ToArray());next = true;}}return res;}}