Condorcet Winners

来源:互联网 发布:html5动画源码怎么用 编辑:程序博客网 时间:2024/05/17 18:48

看大神的代码后才会做

打擂台相似的想法

#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <map>using namespace std;int n,m;int people[512][2512];int compare(int a,int b){    int c1=0;    int c2=0;    for(int i=0;i<n;i++)    if(people[i][a]<people[i][b])    c1++;    else    c2++;    return c1-c2;}int cas=1;int main(){    int i,j;    while(scanf("%d%d",&n,&m),n|m)    {        int a,b;        for( i=0;i<n;i++)        {            for( j=0;j<m;j++)            {                scanf("%d",&a);                people[i][a]=j;            }        }        int win=0;        for( i=1;i<m;i++)        {            if(compare(win,i)<=0)            win=i;        }        for( i=0;i<m;i++)        if(i!=win)        {            if(compare(win,i)<=0)            break;        }        if(i==m)         printf("Case %d: %d\n",cas++, win);         else         printf("Case %d: No Condorcet winner\n",cas++);    }}



原创粉丝点击