- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008noip排座位C语言详解
2008noip排座位C语言详解 2.排座椅 (seat.pas/c/cpp)D对同学上课时会交头接耳。同学们在教室中坐成了M行N列,坐在第i行第j列 的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。 请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在该方案下,上课时交头接耳的学生对数最少。 【输入】 输入文件seat.in的第一行,有5各用空格隔开的整数,分别是M,N,K,L,D(2=N,M=1000,0=KM,0=LN,D=2000)。 接下来D行,每行有4个用空格隔开的整数,第i行的4个整数Xi,Yi,Pi,Qi,表示坐在位置(Xi,Yi)与(Pi,Qi)的两个同学会交头接耳(输入保证他们前后相邻或者左右相邻)。 输入数据保证最优方案的唯一性。 【输出】 输出文件seat.out共两行。 第一行包含K个整数,a1a2……aK,表示第a1行和a1+1行之间、第a2行和第a2+1行之间、…、第aK行和第aK+1行之间要开辟通道,其中ai ai+1,每两个整数之间用空格隔开(行尾没有空格)。 第二行包含L个整数,b1b2……bk,表示第b1列和b1+1列之间、第b2列和第b2+1列之间、…、第bL列和第bL+1列之间要开辟通道,其中bi bi+1,每两个整数之间用空格隔开(行尾没有空格)。 【输入输出样例】 seat.in seat.out 4 5 1 2 3 4 2 4 3 2 3 3 3 2 5 2 4 2 2 4 【输入输出样例解释】 * * ※ ※ + + 1 2 3 4 5 上图中用符号*、※、+ 标出了3对会交头接耳的学生的位置,图中3条粗线的位置表示通道,图示的通道划分方案是唯一的最佳方案。 Int main() { FILE *fi,*fo; Fi=fopen(“seat.in”,”r”); Fo=fopen(“seat.out”,”w”); Int m,n,k,l,d; Int h[1000][2]={0},s[1000][2]={0}; Int I,j,t,x1,x2,y1,y2; Fscanf(fi,“%d %d %d %d %d”,m,n,k,l,d); For(i=0;id;i++) { Fscanf(fi,”%d,%d,%d,%d,x1,y1,x2,y2); If(x1=x2) { if(y1y2) S[y2][0]++; Else s[y1][0]++; } If(y1=y2) { If(x1x2) H[x2][0]++; Else h[x1][0]++; } For(i=0;i1000;i++) { H[i][1]=I; S[i][1]=I; } For(i=0;i1000;i++) For(j=i+1;j1000;j++) { If(h[i][0]h[j][0]) { T=h[i][0]; H[i][0]=h[j][0]; H[j][0]=t; T=h[i][1]; H[i][1]=h[j][1]; H[j][1]=t; } If(s[i][0]s[j][0]) { T=s[i][0]; s[i][0]=s[j][0]; s[j][0]=t; s=s[i][1]; s[i][1]=s[j][1]; s[j][1]=t; }} For(i=0;ik;i++) For(j=i+1;jk;j++) If(h[i][1]h[j][1]) { T=h[i][1]; H[i][1]=h[j][1]; H[j][1]=t; } For(i=0;il;i++) For(j=i+1;jl;j++) If(s[i][1]s[j][1]) { T=s[i][1]; s[i][1]=s[j][1]; s[j][1]=t; } For(i=0;ik;i++) Fprintf(fo,”%d ”,h[i][1]); Fprintf(fo,”\n”); For(i=0;il;i++) Fprintf(fo,”%d ”,s[i][1]); Fclose fi; Fclose fo; Return 0; } 3 4 2 1
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)