Submission #1775112
Source Code Expand
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApp1
{
public class node
{
public List<node> connect = new List<node>();
public int index;
}
class Program
{
static void Main(string[] args)
{
var temp = Console.ReadLine().Split(' ').Select(x => long.Parse(x)).ToArray();
var n = temp[0];
var k = temp[1];
node[] nodes = Enumerable.Range(1, (int)n+1).Select(x => new node { index = x }).ToArray();
int[] a = new int[n + 1];
int[] b = new int[n + 1];
for (int i = 1; i < n; i++)
{
var t= Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
a[i] = t[0];
b[i] = t[1];
nodes[a[i]].connect.Add(nodes[b[i]]);
nodes[b[i]].connect.Add(nodes[a[i]]);
}
int ans = int.MaxValue;
if (k%2==0)ans = (int)n - nodes.Select(x => search(x, null, (int)k/2)).Skip(1).Max();
else
{
for (int i = 0; i < n; i++)
{
var q1 = search(nodes[a[i]], nodes[b[i]], (int)(k - 1) / 2);
var q2 = search(nodes[b[i]], nodes[a[i]], (int)(k - 1) / 2);
var result = (int)n - q1 - q2;
if (result < ans) ans = result;
}
}
Console.WriteLine(ans);
}
/// <summary>k個以内のノード数(自分含めて)</summary>
static int search(node node,node pre, int k)
{
if (k == 0) return 1;
int result = 1;
foreach (var item in node.connect)
{
if (item == pre) continue;
result += search(item, node, k - 1);
}
return result;
}
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Shorten Diameter |
| User | define0314 |
| Language | C# (Mono 4.6.2.0) |
| Score | 600 |
| Code Size | 2059 Byte |
| Status | AC |
| Exec Time | 243 ms |
| Memory | 13524 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt, sample-02.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, sample-01.txt, sample-02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 000.txt | AC | 28 ms | 11476 KiB |
| 001.txt | AC | 30 ms | 13524 KiB |
| 002.txt | AC | 29 ms | 11476 KiB |
| 003.txt | AC | 29 ms | 13524 KiB |
| 004.txt | AC | 28 ms | 9428 KiB |
| 005.txt | AC | 28 ms | 13396 KiB |
| 006.txt | AC | 27 ms | 11476 KiB |
| 007.txt | AC | 27 ms | 11476 KiB |
| 008.txt | AC | 28 ms | 13524 KiB |
| 009.txt | AC | 29 ms | 9356 KiB |
| 010.txt | AC | 30 ms | 11404 KiB |
| 011.txt | AC | 30 ms | 11404 KiB |
| 012.txt | AC | 225 ms | 9356 KiB |
| 013.txt | AC | 32 ms | 11404 KiB |
| 014.txt | AC | 32 ms | 11404 KiB |
| 015.txt | AC | 101 ms | 13452 KiB |
| 016.txt | AC | 31 ms | 9356 KiB |
| 017.txt | AC | 80 ms | 13452 KiB |
| 018.txt | AC | 34 ms | 13524 KiB |
| 019.txt | AC | 28 ms | 11476 KiB |
| 020.txt | AC | 75 ms | 11448 KiB |
| 021.txt | AC | 142 ms | 13468 KiB |
| 022.txt | AC | 30 ms | 9408 KiB |
| 023.txt | AC | 30 ms | 9300 KiB |
| 024.txt | AC | 44 ms | 13504 KiB |
| 025.txt | AC | 29 ms | 9428 KiB |
| 026.txt | AC | 116 ms | 11420 KiB |
| 027.txt | AC | 30 ms | 11404 KiB |
| 028.txt | AC | 243 ms | 9484 KiB |
| 029.txt | AC | 105 ms | 11404 KiB |
| 030.txt | AC | 30 ms | 11372 KiB |
| 031.txt | AC | 32 ms | 11500 KiB |
| sample-01.txt | AC | 29 ms | 11476 KiB |
| sample-02.txt | AC | 27 ms | 11348 KiB |