1 条题解

  • 0
    @ 2026-5-22 8:49:50
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=405;
    struct node{int id,s;}p[N];
    int n,m;
    string a[N];
    bool cmp(node x,node y)
    {
    	if(x.s!=y.s)return x.s>y.s;
    	return x.id<y.id;
    }
    signed main()
    {
    	cin>>n>>m;
    	for(int i=1;i<=2*n;i++)cin>>a[i];
    	for(int i=1;i<=2*n;i++)p[i]={i,0};
    	for(int j=1;j<=m;j++)
    	{
    		for(int i=1;i<=n;i++)
    		{
    			int x=p[2*i-1].id,y=p[2*i].id;
    			char c1=a[x][j-1],c2=a[y][j-1];
    			if(c1==c2)continue;
    			if((c1=='G'&&c2=='C')||(c1=='C'&&c2=='P')||(c1=='P'&&c2=='G'))p[2*i-1].s++;
    			else p[2*i].s++;
    		}
    		sort(p+1,p+2*n+1,cmp);
    	}
    	for(int i=1;i<=2*n;i++)cout<<p[i].id<<'\n';
    	return 0;
    }
    • 1

    信息

    ID
    12248
    时间
    2000ms
    内存
    1024MiB
    难度
    7
    标签
    递交数
    27
    已通过
    8
    上传者