本发明涉及算法应用技术领域,特别是涉及一种分发作品给评委的方法及装置。
背景技术:
目前,将作品分发给评委进行评审要达到一定的效果,既要将作品随机并且平均分发给评委,又要满足作品的被评审次数要求。一般来说,一个作品的被分发次数不能超过评委数量,即一个评委不能评审两个相同的作品,更不能将一个作品分发给所有的评委进行评审,这样的话就会造成重复评审,浪费时间和浪费人力物力。在现有技术中,除了使用人工将待审核作品分发给各个评委的方式之外,还没有其它分发作品的方式可以满足上述的分发要求。现有技术的作品分发方式,要么会漏发作品给某一个评委,要么会将同一个作品多次分发给同一个评委,导致作品分发出现混乱,没有一定的规则,这样的作品分发方式肯定不符合要求。如何做到将作品随机并且平均分发给评委,又满足作品的被评审次数要求,成为亟待解决的问题。
技术实现要素:
本发明实施例提供一种分发作品给评委的方法及装置,以解决现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。
为解决上述技术问题,本发明实施例采用的第一技术方案如下:
一种分发作品给评委的方法,所述作品的总数大于所述评委的总数,其包括:获取待评审的初始作品数组、目标评委数组和评审次数,所述初始作品数组包括按照第一预设顺序排列的多个不同的id作品,所述目标评委数组包括按照第二预设顺序排列的多个不同的id评委组;根据所述评审次数,将所述初始作品数组复制成目标作品数组,所述目标作品数组包括按照第三预设顺序排列的多组不同的所述id作品;将index和所述目标评委数组包含的所述id评委组的总数进行取模计算,得到取模计算结果;根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审;其中,index表示循环迭代次数的自然数,且index的最小值为0,index的最大值与1的和等于所述目标作品数组包含的所述id作品的个数对应的数值。
可选地,在所述目标作品数组中,每组的各个所述id作品均相同,且每组所述id作品的总数对应的数值等于所述评审次数对应的数值,每组的全部所述id作品在所述目标作品数组中相邻排列。
可选地,所述根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,包括:当index=i且与其对应的所述取模计算结果为e时,则将所述第三预设顺序对应的第(i+1)个所述id作品分发给所述第二预设顺序对应的第(e+1)个所述id评委组进行评审;其中,i和e均为自然数,且0≤i≤(m-1),0≤e≤(n-1),m为所述目标作品数组包含的所述id作品的总数对应的数值,n为所述目标评委数组所包含的所述id评委组的总数对应的数值。
可选地,所述根据所述评审次数,将所述初始作品数组复制成目标作品数组,包括:根据所述评审次数设定对应的复制倍数,并按照所述复制倍数将所述初始作品数组对应的各个所述id作品进行复制,得到所述目标作品数组。
可选地,所述根据所述评审次数设定对应的复制倍数,并按照所述复制倍数将所述初始作品数组对应的各个所述id作品进行复制,得到所述目标作品数组之前,包括:将所述初始作品数组的作品顺序进行随机化设置,得到随机化设置后的所述初始作品数组。
可选地,所述将所述初始作品数组的作品顺序进行随机化设置,得到随机化设置后的所述初始作品数组,包括:采用knuth-durstenfeldshuffle洗牌算法,每次从所述初始作品数组中随机取出一个所述id作品,再将该取出的所述id作品与所述初始作品数组尾部的所述id作品进行交换,得到随机化设置后的所述初始作品数组。
可选地,所述评审次数表示每个所述id作品需要被所述id评委组评审的总次数,其中每个所述id评委组对于同一个所述id作品只评审一次。
为解决上述技术问题,本发明实施例采用的第二技术方案如下:
一种分发作品给评委的装置,所述作品的总数大于所述评委的总数,其包括:获取模块,用于获取待评审的初始作品数组、目标评委数组和评审次数,所述初始作品数组包括按照第一预设顺序排列的多个不同的id作品,所述目标评委数组包括按照第二预设顺序排列的多个不同的id评委组;复制模块,用于根据所述评审次数,将所述初始作品数组复制成目标作品数组,所述目标作品数组包括按照第三预设顺序排列的多组不同的所述id作品;计算模块,用于将index和所述目标评委数组包含的所述id评委组的总数进行取模计算,得到取模计算结果;分发模块,用于根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审;其中,index表示循环迭代次数的自然数,且index的最小值为0,index的最大值与1的和等于所述目标作品数组包含的所述id作品的个数对应的数值。
为解决上述技术问题,本发明实施例采用的第三技术方案如下:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上述的分发作品给评委的方法。
为解决上述技术问题,本发明实施例采用的第四技术方案如下:
一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的分发作品给评委的方法。
本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例通过获取待评审的初始作品数组、目标评委数组和评审次数,根据评审次数将初始作品数组复制成目标作品数组,再将index和目标评委数组包含的id评委组的总数进行取模计算,得到取模计算结果,最后根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,解决了现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。
附图说明
图1是本发明实施例一的分发作品给评委的方法一实施方式的实施流程图;
图2是本发明实施例二的分发作品给评委的装置一实施方式的部分结构框架图;
图3是本发明实施例三的计算机可读存储介质一实施方式的部分结构框架图;
图4是本发明实施例四的计算机设备一实施方式的部分结构框架图。
具体实施方式
实施例一
请参阅图1,图1是本发明实施例的分发作品给评委的方法的实施流程图,结合图1可以得到,本发明的一种分发作品给评委的方法,所述作品的总数大于所述评委的总数,包括以下步骤:
步骤s101:获取待评审的初始作品数组、目标评委数组和评审次数,所述初始作品数组包括按照第一预设顺序排列的多个不同的id作品,如[1,2,3,4,5],所述目标评委数组包括按照第二预设顺序排列的多个不同的id评委组,如[a,b,c,d]。在本步骤中,id(identitydocument)是身份标识号,表示身份信息。
在本步骤中,可选地,所述评审次数表示每个所述id作品需要被所述id评委组评审的总次数,其中每个所述id评委组对于同一个所述id作品只评审一次。
步骤s102:根据所述评审次数,将所述初始作品数组复制成目标作品数组,所述目标作品数组包括按照第三预设顺序排列的多组不同的所述id作品,如[2,2,1,1,4,4,5,5,3,3],其中两个“2”为一组,两个“1”为一组,其余依此类推。
在本步骤中,可选地,所述根据所述评审次数,将所述初始作品数组复制成目标作品数组,包括:根据所述评审次数设定对应的复制倍数,并按照所述复制倍数将所述初始作品数组对应的各个所述id作品进行复制,得到所述目标作品数组。首先考虑最极端的情况是,一个作品被分发给所有的评委。所以,需要做的是根据作品需要被评审的次数复制相同的id作品。假设初始作品数组为[1,2,3],给定的作品评审次数为3,那么复制后的id作品数组为[1,1,1,2,2,2,3,3,3],本发明将此算法命名为数组平铺算法,该算法复杂度为o(m*n)。这里之所以要使用数组平铺算法是因为,要与平均地分配作品的算法相结合,且该算法也是无冲突的复制算法。如果使用了别的复制算法,与之后的平均分配算法相结合,就会导致同一个作品被分配了两次或多次给同一个评委,这是不符合要求的。假设目标评委数组为[a,b],初始作品数组为[1,2],作品评审次数为2,采用某种复制算法后id作品数组[1,2,1,2],平均分配的结果为:a:[1,1],b:[2,2],这很明显是不符合要求的,每一个评委组评审的都应该是同一份id作品。
步骤s103:将index和所述目标评委数组包含的所述id评委组的总数进行取模计算,得到取模计算结果。
步骤s104:根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审。
其中,index表示循环迭代次数的自然数,且index的最小值为0,index的最大值与1的和等于所述目标作品数组包含的所述id作品的个数对应的数值,即index比所述目标作品数组包含的所述id作品的个数对应的数值小1。
在本实施例中,可选地,在所述目标作品数组中,每组的各个所述id作品均相同,且每组所述id作品的总数对应的数值等于所述评审次数对应的数值,每组的全部所述id作品在所述目标作品数组中相邻排列。
在本实施例中,可选地,所述根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,包括:当index=i且与其对应的所述取模计算结果为e时,则将所述第三预设顺序对应的第(i+1)个所述id作品分发给所述第二预设顺序对应的第(e+1)个所述id评委组进行评审;其中,i和e均为自然数,且0≤i≤(m-1),0≤e≤(n-1),m为所述目标作品数组包含的所述id作品的总数对应的数值,n为所述目标评委数组所包含的所述id评委组的总数对应的数值。
在本实施例中,具体执行过程如下:
例如,给定目标评委数组为[a,b,c],给定初始作品数组为[1,2,3,4],作品需评审次数为2,所述目标评委数组所包含的所述id评委组的总数对应的数值为3。可将本发明方案归纳为三步,第一步是随机化id作品数组,第二步是数组平铺复制id作品,第三部是平均地分配id作品给评委组。执行第一步后的一种结果为[2,1,4,3],执行第二部后的结果为[2,2,1,1,4,4,3,3],那么所述目标作品数组包含的所述id作品的总数对应的数值为8,执行第三部的结果为a:[2,1,3],b:[2,4,3],c:[1,4]。其中,执行第三部的的过程如下所示:
当index=0时,令index为0时对应的的id作品为2,index与所述目标评委数组所包含的所述id评委组的总数对应的数值取模,即0(index)%3=0,得到对应的id评委组为a,即将id作品2分配给id评委组a。
当index=1时,index为1对应的的id作品为2,取模计算得到:1(index)%3=1,得到对应的id评委组为b,即将id作品2分配给id评委组b。
当index=2时,index为2对应的id作品为1,取模计算得到:2(index)%3=2,得到id评委组为c,即将id作品1分配给id评委组c。
当index=3时,index为3对应的id作品为1,取模计算得到:3(index)%3=0,得到id评委组为a,即将id作品1分配给id评委组a。
当index=4时,index为4对应的id作品为4,取模计算得到:4(index)%3=1,得到id评委组为b,即将id作品4分配给id评委组b。
当index=5时,index为5对应的id作品为4,取模计算得到:5(index)%3=2,得到id评委组为c,即将id作品4分配给id评委组c。
当index=6时,index为6对应的id作品为3,取模计算得到:6(index)%3=0,得到id评委组为a,即将id作品3分配给id评委组a。
当index=7时,index为7对应的id作品为3,取模计算得到:7(index)%3=1,得到id评委组为b,即将id作品3分配给id评委组b。
从上述算法可以看出,id作品都是平均分配给id评委组的,不是随机分配的。
在本实施例中,可选地,所述根据所述评审次数设定对应的复制倍数,并按照所述复制倍数将所述初始作品数组对应的各个所述id作品进行复制,得到所述目标作品数组之前,包括:将所述初始作品数组的作品顺序进行随机化设置,得到随机化设置后的所述初始作品数组。
在本实施例中,可选地,所述将所述初始作品数组的作品顺序进行随机化设置,得到随机化设置后的所述初始作品数组,包括:采用knuth-durstenfeldshuffle洗牌算法,每次从所述初始作品数组中随机取出一个所述id作品,再将该取出的所述id作品与所述初始作品数组尾部的所述id作品进行交换,得到随机化设置后的所述初始作品数组,其算法复杂度为o(n)。当然,在本实施例中,也可以使用其他的洗牌算法,如fisher-yatesshuffle洗牌算法,但是该算法的复杂度为o(n^2),对比knuth-durstenfeldshuffle算法效率足足低了一个数量级。
本发明实施例通过获取待评审的初始作品数组、目标评委数组和评审次数,根据评审次数将初始作品数组复制成目标作品数组,再将index和目标评委数组包含的id评委组的总数进行取模计算,得到取模计算结果,最后根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,解决了现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。本发明的技术方案实现了将待评审作品自动分发给各个评委组,不仅不需要通过人工将待评审作品进行分发,还可以防止待评审作品被重复分发和漏发给评委的问题。
实施例二
请参阅图2,图2是本发明实施例的分发作品给评委的装置的部分结构框架图,结合图2可以得到,本发明的一种分发作品给评委的装置100,所述作品的总数大于所述评委的总数,包括:
获取模块110,用于获取待评审的初始作品数组、目标评委数组和评审次数,所述初始作品数组包括按照第一预设顺序排列的多个不同的id作品,所述目标评委数组包括按照第二预设顺序排列的多个不同的id评委组;
复制模块120,用于根据所述评审次数,将所述初始作品数组复制成目标作品数组,所述目标作品数组包括按照第三预设顺序排列的多组不同的所述id作品;
计算模块130,用于将index和所述目标评委数组包含的所述id评委组的总数进行取模计算,得到取模计算结果;
分发模块140,用于根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审;
其中,index表示循环迭代次数的自然数,且index的最小值为0,index的最大值与1的和等于所述目标作品数组包含的所述id作品的个数对应的数值。
本发明实施例通过获取待评审的初始作品数组、目标评委数组和评审次数,根据评审次数将初始作品数组复制成目标作品数组,再将index和目标评委数组包含的id评委组的总数进行取模计算,得到取模计算结果,最后根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,解决了现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。
实施例三
请参阅图3,参考图3可以看到,本发明实施例的一种计算机可读存储介质10,所述的计算机可读存储介质10,如:rom/ram、磁碟、光盘等,其上存储有计算机程序11,所述计算机程序11被执行时实现如实施例一所述的分发作品给评委的方法。由于该分发作品给评委的方法已经在实施例一进行了详细的说明,在此不再重复说明。
本发明实施例实现的分发作品给评委的方法,通过获取待评审的初始作品数组、目标评委数组和评审次数,根据评审次数将初始作品数组复制成目标作品数组,再将index和目标评委数组包含的id评委组的总数进行取模计算,得到取模计算结果,最后根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,解决了现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。本发明的技术方案实现了将待评审作品自动分发给各个评委组,不仅不需要通过人工将待评审作品进行分发,还可以防止待评审作品被重复分发和漏发给评委的问题。
实施例四
请参阅图4,参考图4可以看到,本发明实施例的一种计算机设备20,其包括处理器21、存储器22及存储于所述存储器22上并可在所述处理器21上运行的计算机程序221,所述处理器21执行所述计算机程序221时实现如实施例一所述的分发作品给评委的方法。由于该分发作品给评委的方法已经在实施例一进行了详细的说明,在此不再重复说明。
本发明实施例实现的分发作品给评委的方法,通过获取待评审的初始作品数组、目标评委数组和评审次数,根据评审次数将初始作品数组复制成目标作品数组,再将index和目标评委数组包含的id评委组的总数进行取模计算,得到取模计算结果,最后根据预设规则和取模计算结果,将不同的所述id作品分发给与其对应的所述id评委组进行评审,解决了现有技术中的以下问题:在将待评审作品分发给各个评委进行审核时,或者需要人工将待评审作品分发给各个评委进行审核,或者在使用机器分发作品时,无法做到将待评审的作品随机并且平均分发给各个评委,也无法满足作品的被评审次数要求。本发明的技术方案实现了将待评审作品自动分发给各个评委组,不仅不需要通过人工将待评审作品进行分发,还可以防止待评审作品被重复分发和漏发给评委的问题。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。