社区讨论
为什么错了。。。求大神帮看代码
P1056[NOIP 2008 普及组] 排座椅参与者 19已保存回复 18
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 18 条
- 当前快照
- 1 份
- 快照标识符
- @mi4g6e55
- 此快照首次捕获于
- 2025/11/18 18:45 4 个月前
- 此快照最后确认于
- 2025/11/18 18:51 4 个月前
代码如下。。。大犇们帮帮忙,感激不尽!!!
CPP#include<iostream>
#include<algorithm>
using namespace std;
const int MaxN=1005;
struct tr{
int a;
int id;
}r[MaxN];
struct tw{
int a;
int id;
}w[MaxN];
int g[MaxN][MaxN];
int m,n,k,l,d;
int cmp1(const void*a,const void*b){
tr* x=(tr*) a;
tr* y=(tr*)b;
return x->a < y->a ? 1:-1;
}
int cmp2(const void*a,const void*b){
tw* x=(tw*) a;
tw* y=(tw*)b;
return x->a < y->a ? 1:-1;
}
int main(){
memset(r+1,0,sizeof(r));
memset(w+1,0,sizeof(w));
cin>>m>>n>>k>>l>>d;
int i,j;
int x,y,p,q;
for(i=1;i<=m;i++)
w[i].id=i;
for(i=1;i<=n;i++)
r[i].id=i;
for(i=1;i<=d;i++)
{
cin>>x>>y>>p>>q;
g[x][y]=i;
g[p][q]=i;
}
for(i=1;i<=n-1;i++)
for(j=1;j<=m;j++)
if(g[i][j]>0&&g[i][j+1]>0&&g[i][j]==g[i][j+1])
w[i].a++;
for(i=1;i<=m-1;i++)
for(j=1;j<=n;j++)
if(g[i][j]>0&&g[i+1][j]&&g[i][j]==g[i+1][j])
r[i].a++;
qsort(w+1,n,sizeof(w[1]),cmp1);
qsort(r+1,n,sizeof(r[1]),cmp2);
for(i=1;i<=k;i++)
cout<<r[i].id<<' ';
cout<<endl;
for(i=1;i<=l;i++)
cout<<w[i].id<<' ';
return 0;
}
回复
共 18 条回复,欢迎继续交流。
正在加载回复...