山东省acm省赛 D题Swiss-system tournetment
来源:互联网 发布:信捷触摸屏编程手册 编辑:程序博客网 时间:2024/05/04 14:09
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> using namespace std; struct node{int index,score,rank;}*a=(node *)malloc(sizeof(node)*200005),*b=(node *)malloc(sizeof(node)*200005); int num,r,q,num1[100005],num2[100005]; bool cmp(node a,node b) { if(a.score==b.score) return a.rank<b.rank; else return a.score>b.score; } void mergearray(node a[], int first,int last,node temp[]) { int i = 0,j =0; int m =num>>1, n = num>>1; int k = 0; while (i <m && j <n) { if (cmp(a[num1[i]],a[num2[j]])) temp[k++] = a[num1[i++]]; else temp[k++]=a[num2[j++]]; } while (i <m) temp[k++] = a[num1[i++]]; while (j <n) temp[k++] = a[num2[j++]]; } void mergesort(node a[], int first, int last, node temp[]) { int i,k=0; for(i=0;i<num;i+=2) { if(a[i].index>a[i+1].index) { a[i].score++; num1[k]=i; num2[k++]=i+1; } else { a[i+1].score++; num1[k]=i+1; num2[k++]=i; } } /*for(i=0;i<k;i++) cout<<num1[i]<<endl; for(i=0;i<k;i++) cout<<num2[i]<<endl;*/ mergearray(a, first,last, temp); } void solve() { mergesort(a,0,num-1,b); swap(a,b); } int main() { int i,t; scanf("%d",&t); while(t--&&scanf("%d%d%d",&num,&r,&q)!=EOF) { memset(a,0,sizeof(a)); num<<=1; for(i=0;i<num;i++) { scanf("%d",&a[i].score); //a[i].score=i+1; a[i].rank=i+1; } for(i=0;i<num;i++) { scanf("%d",&a[i].index); //a[i].index=i+1; } sort(a,a+num,cmp); /*for(i=0;i<num;i++) printf("%d ",a[i].score); printf("\n");*/ while(r--) { memset(b,0,sizeof(b)); solve(); /* for(i=0;i<num;i++) printf("%d ",a[i].score); printf("\n");*/ } printf("%d\n",a[q-1].rank); } return 0; }
0 0
- 山东省acm省赛 D题Swiss-system tournetment
- 第七届ACM山东省赛-D Swiss-system tournament
- 第七届ACM山东省赛-D Swiss-system tournament
- 山东省第七届ACM省赛 Swiss-system tournament
- 第七届 山东省ACM Swiss-system tournament(归并思想)
- 山东省第八届acm省赛D题 HEX
- 山东省第八届ACM省赛 D.HEX
- 2017 ACM山东省赛 D
- 山东省第八届acm省赛D题HEX(组合数学)
- 山东省第一届ACM省赛 D SDUT 2154 Shopping
- 2017山东省第八届ACM省赛 D. HEX(组合数学)
- 山东省第八届ACM省赛C题
- 山东省第八届ACM省赛A题
- 山东省第四届acm省赛
- 山东省第三届ACM省赛
- 山东省第二届ACM大学生程序设计竞赛(原题) D:Binomial Coeffcients
- Sdut 2164 Binomial Coeffcients (组合数学) (山东省ACM第二届省赛 D 题)
- Sdut 2108 Alice and Bob(数学题)(山东省ACM第四届省赛D题)
- Android欢迎页面闪屏解决方法
- Hibernate 管理 Session
- 利用全排列八皇后问题的一种解法
- mac osx上代码高亮
- android学习笔记6.09
- 山东省acm省赛 D题Swiss-system tournetment
- SQL 2008 视频总结(二)
- Android中将二维码图片保存到SD卡中
- 存储类型修饰符的区别(auto、static、register、extern、volatile、restrict)
- Windows核心编程【1】相关资料
- PHP语法总结
- Fragment不显示View
- Java Card STK applet environment test
- 冬瓜排骨汤