样例均过 但WA 求助!
查看原帖
样例均过 但WA 求助!
841612
xian_love楼主2024/7/9 15:44
#include<bits/stdc++.h>
using namespace std;
struct node
{
    string name;
    int score;
    int jsq;
    int jqs;
}p[55];
int cmp(node x,node y)
{
	if(x.score==y.score)
	{
		if(x.jsq==y.jsq)
		{
			return x.jqs>y.jqs;
		}
		return x.jsq>y.jsq;
	}
	return x.score>y.score; 
}
int cmp2(node x,node y)
{
	return x.name<y.name;
}
int main()
{
    int n;
    cin>>n;
    string str;
    char a = '-',b = ':', c = ' ';
    for(int i=1;i<=n;i++){cin>>p[i].name;p[i].score=0;}
    string str1="\n";
    getline(cin,str1);
    for(int i=1;i<=n*(n-1)/2;i++)
    {
        //cin>>str;//注意cin遇到空格自动结束了 ,不能使用cin 
        getline(cin,str);
        int index1 = str.find(a);
        int index2 = str.find(c);
        int index3 = str.find(b);
        string name1=str.substr(0,index1);
        string name2 = str.substr(index1+1,index2-index1-1);
        int sorce1 = atoi(str.substr(index2+1,index3-index2-1).c_str());
        int sorce2 = atoi(str.substr(index3+1,str.size()-index3-1).c_str());
        for(int i=1;i<=n;i++)//找对应的球队 
        {
            if(p[i].name==name1)
            {
            	if(sorce1>sorce2)p[i].score+=3;
            	else if(sorce1==sorce2)p[i].score+=1;
            	p[i].jsq=sorce1-sorce2;
            	p[i].jqs=sorce1;
            	//break;
            	//cout<<p[i].score;
			}
            else if(p[i].name==name2)
			{
				if(sorce1<sorce2)p[i].score+=3;
            	else if(sorce1==sorce2)p[i].score+=1;
            	p[i].jsq=sorce2-sorce1;
            	p[i].jqs=sorce2;
            	//break;
            	//cout<<p[i].score;
            	
			}
    
	    }
	    //cout<<name1<<" "<<name2<<" "<<sorce1<<" "<<sorce2<<endl;
    }
    sort(p+1,p+1+n,cmp);
    sort(p+1,p+n/2+1,cmp2);
    for(int i=1;i<=n/2;i++)cout<<p[i].name<<endl;
    return 0;
}

2024/7/9 15:44
加载中...