有n个老鼠,第一行给出n个老鼠的重量,第二行给出他们的顺序。
1.每一轮分成若干组,每组m个老鼠,不能整除的多余的作为最后一组。2.每组重量最大的进入下一轮。让你给出每只老鼠最后的排名。很简单,用两个数组模拟一下即可order1存储进入当前一轮老鼠的索引顺序order2存储进入下一轮老鼠的索引顺序如果当前有groups个组,那么会有groups个老鼠进入下一轮,则没有进入下一轮的排名都为groups+1
如果只有一个组,那么最大的那个排名即为1。
#include#include #include #include using namespace std;const int maxn=1000+5;struct Mice{ int weight; int ranks;}mice[maxn];int order1[maxn];int cnt1=0;int order2[maxn];int cnt2=0;int main(){ int n,m; scanf("%d %d",&n,&m); for(int i=0;i maxw){ maxw=mice[v].weight; maxid=v; } } for(int j=i;j