1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; char ch[505*2][505*2]; struct Node{ int id; int paiming; int s; }a[2*505]; bool cmp(Node x,Node y){ if(x.s!=y.s) return x.s > y.s; else return x.id<y.id; } int main(){ int n,m; cin>>n>>m; for(int i=1;i<=2*n;i++){ for(int j=1;j<=m;j++){ cin>>ch[j][i]; } } for(int i=1;i<=2*n;i++) a[i].id=i,a[i].paiming=i,a[i].s=0; for(int i=1;i<=m;i++){ sort(a+1,a+1+2*n,cmp); // for(int i=1;i<=2*n;i++) cout<<a[i].id<<" "<<a[i].s<<" "; // cout<<endl; for(int j=1;j<=2*n;j+=2){ int x1 = a[j].id; int x2 = a[j+1].id; char y1 = ch[i][x1] , y2 = ch[i][x2]; // cout<<x1<<" "<<x2<<" "<<y1<<" "<<y2<<endl; if(y1=='G' && y2=='P') a[j].s++; if(y1=='G' && y2=='C') a[j+1].s++; if(y1=='C' && y2=='G') a[j].s++; if(y1=='C' && y2=='P') a[j+1].s++; if(y1=='P' && y2=='C') a[j].s++; if(y1=='P' && y2=='G') a[j+1].s++; } } sort(a+1,a+1+2*n,cmp); for(int i=1;i<=2*n;i++) cout<<a[i].id<<endl; return 0; }
信息
- ID
- 2
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者