6,代码我看看
by 引领天下 @ 2017-05-26 17:25:22
```cpp
sort() 6A4T
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<sstream>
#include<queue>
using namespace std;
int N,R,Q;
struct LZL{
int c,s,w;
}X[200005];
int cmp(LZL a,LZL b)
{
if(a.s<b.s) return 0;
if(a.s>b.s) return 1;
if(a.c<b.c) return 1;
return 0;
}
int main()
{
scanf("%d%d%d",&N,&R,&Q);
N*=2;
for(int i=1;i<=N;i++) scanf("%d",&X[i].s),X[i].c=i;
for(int i=1;i<=N;i++) scanf("%d",&X[i].w);
while(R--){
sort(X+1,X+1+N,cmp);
/*for(int i=1;i<=N;i++){
cout<<"("<<X[i].c<<"-"<<X[i].s<<") ";
}*/
for(int i=1;i<=N;i+=2){
if(X[i].w>X[i+1].w) X[i].s++;
else X[i+1].s++;
}
//puts("");
}
sort(X+1,X+1+N,cmp);
printf("%d\n",X[Q].c);
return 0;
}
```
by Thecats @ 2017-05-27 11:57:00
吃个饭qwqwq
by Thecats @ 2017-05-27 11:57:15
```cpp
qsort() 8A2T
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<sstream>
#include<queue>
using namespace std;
int N,R,Q;
struct LZL{
int c,s,w;
}X[200005];
int cmp(const void *a,const void *b)
{
if((*(LZL *)a).s<(*(LZL *)b).s) return 1;
if((*(LZL *)a).s>(*(LZL *)b).s) return -1;
if((*(LZL *)a).c<(*(LZL *)b).c) return -1;
return 1;
}
int main()
{
scanf("%d%d%d",&N,&R,&Q);
N*=2;
for(int i=1;i<=N;i++) scanf("%d",&X[i].s),X[i].c=i;
for(int i=1;i<=N;i++) scanf("%d",&X[i].w);
while(R--){
qsort(X+1,N,sizeof(X[0]),cmp);
/*for(int i=1;i<=N;i++){
cout<<"("<<X[i].c<<"-"<<X[i].s<<") ";
}*/
for(int i=1;i<=N;i+=2){
if(X[i].w>X[i+1].w) X[i].s++;
else X[i+1].s++;
}
//puts("");
}
qsort(X+1,N,sizeof(X[0]),cmp);
printf("%d\n",X[Q].c);
return 0;
}
```
by Thecats @ 2017-05-27 23:02:36
@[引领天下](/space/show?uid=39863) w
by Thecats @ 2017-05-27 23:03:08
@[Thecats](/space/show?uid=20316)
#***尴尬***
sort不是只用bool吗……
是不是跟cmp函数类型有关系
还有你如果想这样A的话加个读入优化试试
代码:
```cpp
int read(){
char c=getchar();
int x=0;
while (c>='0'&&c<='9')x=x*10+c-'0',c=getchar();
return x;
}
```
然后你qsort的cmp有返回值-1是怎么会是?
是不是这句加快了排序速度?
你把改到sort里试试
by 引领天下 @ 2017-05-28 07:17:27
sort用bool int都可以
qsort排序规则是<0放前面 >0放后面w
by Thecats @ 2017-05-28 12:56:07
二者算法不同。qsort是快速排序,sort是内省排序(快速排序递归一定深度后转堆排序)。对于没有卡qsort的序列,qsort的常数确实小一些。
by CommonAnts @ 2017-06-12 15:24:01
@[CommonAnts](/space/show?uid=40607) 好的呢谢谢w
所以其实用哪个习惯就好了是喵?
by Thecats @ 2018-04-13 07:33:33