Exemplo n.º 1
0
        public Boolean stop()
        {
            if (!isRunning)
            {
                return(false);
            }
            isRunning = false;

            SystemTimer.Stop();
            Glaph.clear(CPU_Graph_inner);
            return(true);
        }
Exemplo n.º 2
0
    public static void Main()
    {
        int         N     = Cin <int>();
        int         M     = Cin <int>();
        List <bool> visit = Enumerable.Repeat(false, N).ToList();
        Glaph       glaph = new Glaph(visit);

        glaph.visit[0] = true;
        glaph.now_Node = 0;
        List <int>[] edge = new List <int> [N];
        for (int i = 0; i < N; i++)
        {
            edge[i] = new List <int>();
        }
        for (int i = 0; i < M; i++)
        {
            int[] inp = Line <int[]>().Select(v => v - 1).ToArray();
            edge[inp[0]].Add(inp[1]);
            edge[inp[1]].Add(inp[0]);
        }
        long          ans   = 0;
        Stack <Glaph> stack = new Stack <Glaph>();

        stack.Push(glaph);
        while (stack.Count() != 0)
        {
            Glaph now_state = stack.Pop();
            if (now_state.visit.All(v => v == true))
            {
                ans++;
            }
            foreach (var i in edge[now_state.now_Node])
            {
                if (!now_state.visit[i])
                {
                    Glaph next_state = new Glaph(now_state.visit);
                    next_state.visit[i] = true;
                    next_state.now_Node = i;
                    stack.Push(next_state);
                }
            }
        }
        Console.WriteLine(ans);
    }
Exemplo n.º 3
0
        /// <summary>
        /// データの初期化用
        /// </summary>
        public void Init()
        {
            CPU_Graph_inner = new Canvas();
            isRunning       = false;
            CPUlog          = new List <float>();
            startOption     = "-Xms2048M -Xmx8192M -jar " + serverFileName + " nogui";

            serverProcess = new Process();
            serverProcess.StartInfo.FileName               = "java";
            serverProcess.StartInfo.Arguments              = startOption; // "-a -b -c"のように
            serverProcess.StartInfo.WorkingDirectory       = saveDirectryPath;
            serverProcess.StartInfo.CreateNoWindow         = true;
            serverProcess.StartInfo.RedirectStandardError  = true;
            serverProcess.StartInfo.RedirectStandardOutput = true;
            serverProcess.StartInfo.UseShellExecute        = false;
            serverProcess.EnableRaisingEvents              = true;


            serverProcess.OutputDataReceived += (sender, ev) =>
            {
                if (isRunning && ServerManager.ShowingServerName == Name)
                {
                    DataDictionary.Main_Grid.Dispatcher.Invoke(() =>
                    {
                        ((TextBlock)DataDictionary.Main_Grid.FindName("Console_Log_Test")).Text += ev.Data + "\n";
                    });
                }
            };
            serverProcess.ErrorDataReceived += (sender, ev) =>
            {
                if (isRunning && ServerManager.ShowingServerName == Name)
                {
                    DataDictionary.Main_Grid.Dispatcher.Invoke(() =>
                    {
                        ((TextBlock)DataDictionary.Main_Grid.FindName("Console_Log_Test")).Text += ev.Data + "\n";
                    });
                }
            };
            serverProcess.Exited += (sender, ev) =>
            {
                Console.WriteLine($"exited");
                serverProcess.WaitForExit();
            };

            // serverLogReader = serverProcess.StandardOutput;

            CPU_Graph_inner.Name       = "System_CPU_Graph_inner";
            CPU_Graph_inner.Background = Brushes.White;

            // タイマー関係
            SystemTimer = Timer.CreateTimer(1000);
            // タイマーイベントの定義
            SystemTimer.Tick += async(sender, e) =>
            {
                object cpuCount = await Task.Run(new Func <object>(SystemInfo.getCPUCounter));

                CPUlog.Insert(0, (float)cpuCount);
                Glaph.CreateCanvasForGlaph(CPU_Graph_inner, CPUlog);
            };



            CreateServer();
        }