9.1 NOIP普及组试题精解(3)
9-6 seat.c
#include <stdio.h> #define MAXN 1001 void swap(int *a, int *b) //交换数据 { int t; t = *a; *a = *b; *b = t; } int main() { FILE *fp1, *fp2; int row[MAXN], col[MAXN], temp[MAXN]; int m, n, k, l, d; //m行n列,k条横向通道,l条纵向通道,d对同学上课说话 int x1, y1, x2, y2; //两个相互说话同学的位置 int i, j; if ((fp1 = fopen("seat.in", "r")) == NULL) { printf("不能打开文件!\n"); exit(); } fscanf(fp1, "%d%d%d%d%d\n", &m, &n, &k, &l, &d); ; i <= m; i++) //设置不插入横向通道 row[i] = ; ; i <= n; i++) //设置不插入纵向通道 col[i] = ; ; i < d; i++) //读入文件中每行的数据,统计在每行、每列添加通道可以分割的学生数 { fscanf(fp1, "%d%d%d%d", &y1, &x1, &y2, &x2); //读入要说话的两个坐标位置 if (x1 == x2) //若在同一列 { if (y1 > y2) swap(&y1, &y2); //交换列号,使低列号排在前面 row[y1]++; //在y1位置增加一条横向通道分隔同一列的同学 } else if (y1 == y2) //在同一行 { if (x1 > x2) swap(&x1, &x2); //交换行号,使低行号排在前面 col[x1]++; //在x1位置增加一条纵向通道分隔同一行的同学 } } fclose(fp1); //关闭文件 ; i <= m; i++) //temp中保存行号,准备排序 temp[i] = i; ; i < m; i++) //对横向通道分隔说话学生对数进行排序 ; j <= m; j++) if (row[i] < row[j]) //第i行设通道分隔说话学生少于第j行 { swap(&row[i], &row[j]); //交换通道位置 swap(&temp[i], &temp[j]); //交换行号 } ; i < k; i++) //对前k条横向通道进行排序 ; j <= k; j++) if (temp[i] > temp[j]) //使低行号排在前面 swap(&temp[i], &temp[j]); if ((fp2 = fopen("seat.out", "w")) == NULL) { printf("不能打开文件!\n"); exit(); } ; i <= k; i++) //输出横向通道位置 { printf(" %d", temp[i]); fprintf(fp2, " %d", temp[i]); } printf("\n"); fprintf(fp2, "\n"); ; i <= n; i++) //将列号保存到temp数组中,准备排序 temp[i] = i; ; i < n; i++) //对纵向通道分隔说话学生对数进行排序 ; j <= n; j++) if (col[i] < col[j]) { swap(&col[i], &col[j]); //交换通道位置 swap(&temp[i], &temp[j]); //交换列号 } ; i < l; i++) //对前L条纵向通道进行排序 ; j <= l; j++) if (temp[i] > temp[j]) //使低列号排在前面 swap(&temp[i], &temp[j]); ; i <= l; i++) //输出纵向通道 { printf(" %d", temp[i]); fprintf(fp2, " %d", temp[i]); } fprintf(fp2, "\n"); fclose(fp2); getch(); ; }
9.1 NOIP普及组试题精解(3)的更多相关文章
- 9.1 NOIP普及组试题精解(2)
9-4 soldier.c #include <stdio.h> #define MAXN 21 }; int n, m, x, y; //n,m为B点的行列坐标位置,x,y为马的坐标位置 ...
- 9.1 NOIP普及组试题精解(1)
9-1 series1.c #include <stdio.h> int main() { float s=0.0,k; int n; printf("输入数字k(1~15):& ...
- 9.2 NOIP提高组试题精解(2)
9-18 fruit.c #include <stdio.h> #define MAXN 10000 int Queue1[MAXN], Queue2[MAXN]; void Insert ...
- 9.2 NOIP提高组试题精解(1)
9-16 poise.c #include <stdio.h> #define MAXN 1001 int main() { ], flag[MAXN] = { }; //保存6种砝码的数 ...
- 2016.10.6初中部上午NOIP普及组比赛总结
2016.10.6初中部上午NOIP普及组比赛总结 中了病毒--病毒--病毒-- 进度: 比赛:AC+0+0+20=120 改题:AC+0+AC+20=220 Stairs 好--简--单!递推就过了 ...
- 2016.8.15上午纪中初中部NOIP普及组比赛
2016.8.15上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1333 这次比赛不怎么好,因为这套题目我并不是很擅长. 可同学们 ...
- 2016.9.15初中部上午NOIP普及组比赛总结
2016.9.15初中部上午NOIP普及组比赛总结 2016.09.15[初中部 NOIP普及组 ]模拟赛 又翻车了!表示时超和空超很可恨! 进度 比赛:AC+0+0+20=120 改题:AC+80+ ...
- 2016.9.10初中部上午NOIP普及组比赛总结
2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...
- 2016.9.3初中部上午NOIP普及组比赛总结
2016.9.3初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1339 这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!) 进 ...
随机推荐
- js 输入框增加删除操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- centos网络配置实例
1.配置DNS vim /etc/resolv.conf nameserver 192.168.0.1 nameserver 8.8.8.8 nameserver 8.8.4.4 2.配置网关 r ...
- android图片素材參考
hpi:通常是大图像素是:480x800 (640*960)宽比长大致为0.6左右 一般240dpi. 小图的像素依据实际来. xhdi:一般大图像素是: 640x1136 (72 ...
- 【Web API系列教程】1.2 — Web API 2中的Action Results
前言 本节的主题是ASP.NET Web API怎样将控制器动作的返回值转换成HTTP的响应消息. Web API控制器动作能够返回下列的不论什么值: 1. void 2. HttpResponseM ...
- Atitit.ati dwr的原理and设计 attilax 总结 java php 版本号
Atitit.ati dwr的原理and设计 attilax 总结 java php 版本号 1. dwr的长处相对于ajax来说.. 1 2. DWR工作原理 1 3. Dwr的架构 2 4. 自己 ...
- Struts2学习七----------Struts2后缀
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2后缀 - Struts2默认后缀是action - Struts2使用默认后缀时*.action和*都是同一个请求 - Struts2自 ...
- Java 嵌套类和内部类演示样例<二>
嵌套类(nested class)是一个在还有一个类或接口内部声明的类. 嵌套类分为两种:静态内部类(static inner class)和非静态嵌套类(non-static nested clas ...
- android开发系列之视频断点续传
今天在这篇博客里面,我想说说自己在这几天遇到的一个棘手的问题,就是视频断点续传的问题.其实这在我们开发中是一个很常见的应用场景,比如视频.音频.pdf等相关的文档.如果之前没有接触过的话,你也许会被这 ...
- 彻底隐藏Nginx版本号的安全性与方法
Nginx默认是显示版本号的,如: [root@bkjz ~]# curl -I www.nginx.orgHTTP/1.1 200 OKServer: nginx/0.8.44Date: Tue, ...
- 1-2:CSS3课程入门之结构选择
E:nth-child(n) 表示E父元素中的第n个字节点 p:nth-child(odd){background:red}/*匹配奇数行*/ p:nth-child(even){background ...