📄 2524.cpp
字号:
#include<iostream>
#include<map>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
struct team
{
char name[25];
int w,d,l,pt,dg;
};
const int MAXN=10005;
map <string ,int > ma;
team t[MAXN];
bool cmp(team a,team b)
{
if(a.pt>b.pt)return true;
else if(a.pt==b.pt && a.dg>b.dg) return true;
else if((a.pt==b.pt && a.dg==b.dg && strcmp(a.name,b.name)<0)) return true;
else return false;
}
int main()
{
int i,j,k;
int n,m;
int T=0;
while(cin>>m)
{
T++;
if(T!=1)printf("\n");
n=0;
char s1[25],s2[25];
int a1,a2,b1,b2;
char c;
ma.clear();
memset(t,0,sizeof(t));
for(i=1;i<=m;i++)
{
cin>>s1>>a1>>c>>a2>>s2;
if(ma.find(string(s1))==ma.end())
{
n++;
strcpy(t[n].name,s1);
ma[string(s1)]=n;
b1=n;
}
else b1=ma[string(s1)];
if(ma.find(string(s2))==ma.end())
{
n++;
strcpy(t[n].name,s2);
ma[string(s2)]=n;
b2=n;
}
else b2=ma[string(s2)];
if(a1>a2)
{
t[b1].w++;t[b2].l++;
t[b1].pt+=3;
}
else if(a1==a2)
{
t[b1].d++;t[b2].d++;
t[b1].pt++;t[b2].pt++;
}
else
{
t[b1].l++;t[b2].w++;
t[b2].pt+=3;
}
t[b1].dg+=(a1-a2);
t[b2].dg+=(a2-a1);
}
sort(&t[1],&t[n+1],cmp);
for(i=1;i<=n;i++)
{
printf("%d %s %d %d %d %d %d\n",i,t[i].name,t[i].w,t[i].d,t[i].l,t[i].pt,t[i].dg);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -