gpt4 book ai didi

c# - 如何使用 C# 为 OpenSTV 选举生成 .BLT 文件?

转载 作者:可可西里 更新时间:2023-11-01 03:07:55 24 4
gpt4 key购买 nike

在看到最新的 SO 博客文章后,我刚刚下载了 OpenSTV,内容涉及主持人选举的结果。 Jeff 写道,他使用 OpenSTV 进行选举,并提供了一个包含投票数据的选票文件 (.blt)。

我的问题是:如何在 C# 中创建 .BLT 文件?

以下是我能想到的投票页面实现的两种方式:

  • 投票页面将每张选票添加到 SQL 数据库中,然后以某种方式在投票结束后将这些选票导出到 .BLT 文件中。怎么办?我该怎么做?
  • 或者,投票页面创建文件,然后在每次有人投票时添加到该文件中。我确定这不是投票页面的工作方式,因为它完全不可扩展,但我如何在 C# 中执行此操作?

我有兴趣了解这两种可能性的工作原理以及我如何在 C# 中做到这一点。提前致谢。哦,我希望 Jeff 看到这个问题,因为他可能会有很好的答案...

最佳答案

BLT文件格式的最佳解释在这里:

    4 2          # four candidates are competing for two seats    -2           # Bob has withdrawn (optional)    1 4 1 3 2 0  # first ballot    1 2 4 1 3 0    1 1 4 2 3 0  # The first number is the ballot weight (>= 1).    1 1 2 4 3 0  # The last 0 is an end of ballot marker.    1 1 4 3 0    # Numbers in between correspond to the candidates    1 3 2 4 1 0  # on the ballot.    1 3 4 1 2 0    1 3 4 1 2 0  # Chuck, Diane, Amy, Bob    1 4 3 2 0    1 2 3 4 1 0  # last ballot    0            # end of ballots marker    "Amy"        # candidate 1    "Bob"        # candidate 2    "Chuck"      # candidate 3    "Diane"      # candidate 4    "Gardening Club Election"  # title

我所做的只是

  1. 在 SQL Management Studio 中执行临时查询以获取投票结果
  2. 将结果复制粘贴到文本文件中(输出默认以制表符分隔)
  3. 编写了一个 50 行的小型 C# 应用程序以将查询转换为 BLT 格式

关于c# - 如何使用 C# 为 OpenSTV 选举生成 .BLT 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com