NOIP2008 普及组 复赛 seat 排座椅
来源:互联网 发布:漫画软件那个好 编辑:程序博客网 时间:2024/04/27 23:40
NOIP2008 普及组 复赛 seat 排座椅
//洛谷 p1056 排座椅
//难度:普及/提高-
//考点:输入,输出 ,结构体,排序
//适用:小学生
//陷阱:该题输出有顺序要求ai< ai+1 bi< bi+1,考试中读题还是需花些时间
//思路:对讲话学生进行行列分割统计,对分割线进行由大到小的排序,安排分割线。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>
#include <string.h>
struct node{
int pos;
int count;
}row[1000+10],col[1000+10],t;
int ans_row[1000+10],ans_col[1000+10],ans_t;
int main(){
int m,n,k,l,d;
int i,j;
int a1,b1,a2,b2;
memset(row,0,sizeof(row));
memset(col,0,sizeof(col));
scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);
for(i=1;i<=d;i++){
scanf("%d%d%d%d",&a1,&b1,&a2,&b2);
if(b1==b2)//列相同
if(a1>a2){
row[a2].pos=a2;
row[a2].count++;
}else{
row[a1].pos=a1;
row[a1].count++;
}
if(a1==a2)//行相同
if(b1>b2){
col[b2].pos=b2;
col[b2].count++;
}else{
col[b1].pos=b1;
col[b1].count++;//笔误,此处写成col[b2].count++查了好半天
}
}
//排序,自大到小
for(i=1;i<=m;i++)
for(j=i+1;j<=m;j++)
if(row[i].count<row[j].count){
t=row[i];
row[i]=row[j];
row[j]=t;
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(col[i].count<col[j].count){
t=col[i];
col[i]=col[j];
col[j]=t;
}
for(i=1;i<=k;i++)
ans_row[i]=row[i].pos;
for(i=1;i<=k;i++)
for(j=i+1;j<=k;j++)
if(ans_row[i]>ans_row[j]){//自小到大排序
ans_t=ans_row[i];
ans_row[i]=ans_row[j];
ans_row[j]=ans_t;
}
for(i=1;i<=l;i++)
ans_col[i]=col[i].pos;
for(i=1;i<=l;i++)
for(j=i+1;j<=l;j++)
if(ans_col[i]>ans_col[j]){//自小到大排序
ans_t=ans_col[i];
ans_col[i]=ans_col[j];
ans_col[j]=ans_t;
}
if(k>0){
printf("%d",ans_row[1]);
for(i=2;i<=k;i++)
printf(" %d",ans_row[i]);
printf("\n");
}
if(l>0){
printf("%d",ans_col[1]);
for(i=2;i<=l;i++)
printf(" %d",ans_col[i]);
printf("\n");
}
return 0;
}
- NOIP2008 普及组 复赛 seat 排座椅
- 【NOIP2008普及组】排座椅
- NOIP2008普及组 排座椅(贪心)
- Cpp环境【NOIP2008普及组】【Vijos1769】 排座椅
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
- NOIP2008(2)排座椅
- NOIP2008普及组 排座椅(重庆一中高2018级信息学竞赛测验5) 解题报告
- noip2008 排座椅 (贪心)
- |Tyvj|NOIP2008|贪心|P1007 排座椅
- NOIP 2008 普及组 2(排座椅) 背包问题
- NOIP2008普及组 立体图
- NOIP2008普及组
- NOIP2008普及组题解
- Noip2008普及组
- 【noip2008】【普及组】立体图
- [贪心+结构体快排]NOIP2008 PJ T2 排座椅
- 【NOIP普及组】2016模拟考试(10.29)——排座椅
- NOIP2008普及组 题解 -SilverN
- 【bzoj3223】Tyvj 1729 文艺平衡树
- Binary Search Tree Iterator
- codevs1006
- jsp动态加载与静态加载浅谈
- 人工智能的这些特性决定智能投顾只能走先B端的道路
- NOIP2008 普及组 复赛 seat 排座椅
- 程序员必备排序之插入排序、希尔排序
- 第十次CCF认证第四题图论题 C语言编程解析及其答案
- RoadMap|深度学习论文阅读路线图
- POJ 2470 Ambiguous permutations G++
- C++学习笔记(5)
- Redis学习总结(4)——Spring Data操作Redis
- error This file requires compiler and library support for the ISO C++ 2011 standard
- c++继承