代码物语(八):A坛09萌战分组处理(2009)

09年在A坛水区时候发起的萌战,最后沦落为马甲和金钱大战。鸭多(@yaduo)由于强烈的蹭得累属性,被累累晋级,一直杀到决赛。决赛阶段,鸭子企图利用王姨妈(@wym345700960)每蛋疼一次就注册一个马甲积累起来的马甲库将风筝(@yuri_ll)推上萌王宝座,无奈不敌众人+深山(@miyamayukimi)妹兄联盟的金钱攻势,众人一致认为蹭得累的鸭子该骑,以致又引发新一轮的骑动物大赛,最终强弩之末难穿缟素,在用尽姨妈的蛋疼力量后鸭子只好就范,加冕09年度萌王。详情战况可以爬A坛水区。

在对ID进行分组时遇到了点麻烦。最后为了公平性,采取了下面策略:计算ID的哈希值(MD5),对哈希值进行排序,然后按排序结果赋序号,最后对序号模4取余,按余数分成4组。如果手工进行比较累人,而且哈希值的排序不保证不会出错。最终余使用程序进行批处理。还是最熟悉的片刻之内就能写出的asp

代码

<!--#include file="md5code.asp"-->
<%
  'dim Conn
  Const AccessFile="list.mdb"
  set Conn=Server.CreateObject("ADODB.Connection")
  Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessFile)
  On Error Resume Next
  Conn.Open
  If Err Then
     err.Clear
     Set Conn = Nothing
     Response.Write "数据库连接出错,请检查连接字串。"
     Response.End
  End If
  set rs=Server.CreateObject("ADODB.Recordset")
  set rs.ActiveConnection=Conn
  rs.CursorType=3
  rs.open"select * from List order by ID_bbs"

  dim ID_bbs
  dim str_md5
  rs.movefirst
  for i=1 to rs.recordcount
     ID_bbs=rs.fields("ID_bbs").value
     str_md5=md5(ID_bbs)
     conn.execute("update List SET md5='"&str_md5&"' where ID_bbs='"&ID_bbs&"'")
     rs.movenext
  next
  rs.close

  rs.open"select * from List order By md5"
  rs.movefirst
  for i=1 to rs.recordcount
     if (i mod 4)=0 then
         group_char="A"
     elseif (i mod 4) =1 then
         group_char="B"
     elseif (i mod 4) =2 then
         group_char="C"
     elseif (i mod 4) =3 then
         group_char="D"
     End if
     str_md5=rs.fields("md5").value
     conn.execute("update List SET ID_sortbyMD5="&i&",group_byMD5='"&group_char&"' where md5='"&str_md5&"'")
     rs.movenext
  Next
  rs.close
  conn.close
  set rs=nothing
  set conn=nothing
  response.write("done!")
%>

16强对战图

懂程序,生活更美好 :smile:

2010年4月13日 | 归档于 程序
标签: ,
本文目前尚无任何评论.

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: