9.1 NOIP普及组试题精解(2)
9-4 soldier.c
#include <stdio.h> #define MAXN 21 }; int n, m, x, y; //n,m为B点的行列坐标位置,x,y为马的坐标位置 ] = { -, -, , , , , -, - }; ] = { , , , , -, -, -, - }; void horse() //初始化马和其控制点坐标位置 { int i; chessboard[x][y] = -; //标记马的位置 ; i < ; i++) //标记马下一步的位置 { && x + dx[x] <= n) && (y + dy[i] >= ) && (y + dy[i]) <= m) chessboard[x + dx[i]][y + dy[i]] = -; } } void search() //逐步搜寻出路 { int i, j; ; i <= n; i++) //扫描第0列的各行 { ] != -) //若没有障碍 chessboard[i][] = ; //设置该位置可走路径数为1 else break; } ; i <= m; i++) //扫描第0行的每列 { ][i] != -) //若不是马的控制点 chessboard[][i] = ; //设置该位置可走路径数为1 else break; } ; i <= n; i++) //扫描各行各列 { ; j <= m; j++) { ) //若该位置不是马的控制点 { ][j] != -) && (chessboard[i][j - ] != -)) //上面和左边也不是马的控制点 chessboard[i][j] = chessboard[i - ][j] + chessboard[i][j - ]; //将上面和左边的路径进行累加 ][j] == -) && (chessboard[i][j - ] != -)) //若上面有马控制点,而左边无马控制点 chessboard[i][j] = chessboard[i][j - ]; //保存左边路径到到当前位置 ][j] != -) && (chessboard[i][j - ] == -)) //若上面无马控制点,而左边有马控制点 chessboard[i][j] = chessboard[i - ][j]; //保存上面路径到当前位置 ][j] == -) && (chessboard[i][j - ] == -)) //若上面和左边都有马的控制点 chessboard[i][j] = ; //当前位置无通路 } } } } int main() { int i, j; FILE *fp1, *fp2; if ((fp1 = fopen("soldier.in", "r")) == NULL) { printf("不能打开文件!\n"); exit(); } fscanf(fp1,"%d%d%d%d", &n, &m, &x, &y); fclose(fp1); horse(); //初始化马及其下一步的位置 search(); if ((fp2 = fopen("soldier.out", "w")) == NULL) { printf("不能打开文件!\n"); exit(); } printf("%d\n", chessboard[n][m]); fprintf(fp2,"%d\n",chessboard[n][m]); fclose(fp2); getch(); ; }
9-5 isbn.c
#include <stdio.h> int main() { ] = { "0123456789X" }; ]; int i, j, sum; FILE *fp1, *fp2; if ((fp1 = fopen("isbn.in", "r")) == NULL) { printf("不能打开文件!\n"); exit(); } fgets(str, , fp1); //从文件中读取数据 fclose(fp1); //关闭文件 sum = ; j = ; ; i < ; i++) //计算总和 { && i != ) sum += (str[i] - ') * j++; } sum %= ; //求模 if ((fp2 = fopen("isbn.out", "w")) == NULL) { printf("不能打开文件!\n"); exit(); } ] == table[sum]) //校验码正确 { fputs("Right", fp2); //输出到文件 printf("Right\n"); } else //校验码错误 { str[] = table[sum]; //保存正确校验码 fputs(str, fp2); //输出正确的ISBN到文件 printf("%s\n", str); } fclose(fp2); //关闭文件 getch(); ; }
9.1 NOIP普及组试题精解(2)的更多相关文章
- 9.1 NOIP普及组试题精解(3)
9-6 seat.c #include <stdio.h> #define MAXN 1001 void swap(int *a, int *b) //交换数据 { int t; t = ...
- 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小时呢!) 进 ...
随机推荐
- 关于阿里 weex 的使用与案例
1. 阿里宣布开源Weex http://mp.weixin.qq.com/s?__biz=MzA4MjA0MTc4NQ==&mid=504089541&idx=1&sn=3a ...
- 奇怪!post提交 地址栏参数竟然可见
转: http://blog.csdn.net/yuebinghaoyuan/article/details/7727802 在做项目中,form标签中method="post&quo ...
- Redis 在 Java 中的使用
转:http://blog.csdn.net/jiangtao_st/article/details/8256610 一.下载jar包 https://github.com/xetorthio/jed ...
- Putty的噩梦——渗透工具PuttyRider使用心得分享
我们在入侵到一台主机的时候,经常会看到管理员的桌面会放着putty.exe,这说明有很大的可能性管理员是使用putty远程管理主机的. 该工具主要是针对SSH客户端putty的利用,采用DLL注入的方 ...
- 字符串(string)操作的相关方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【深入JAVA EE】Spring配置文件解析
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 一.Spring头信息 Spring配置文件的头部信息通常是固定不变的.但每个标 ...
- 17:不重复整数提取NoRepeatNum
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述:输入一个int型整数 输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子: ...
- HTML元素定位
一切皆为框 div.h1 或 p 元素常常被称为块级元素(block element).这意味着这些元素显示为一块内容,即"块框".与之相反,span 和 strong 等元素称为 ...
- caffe---ubuntu1604下anaconda2.5的尝试----失败,建议使用系统的python系统,避免各种各样的陷阱
caffe---ubuntu1604下anaconda2.5的尝试----失败,建议使用系统的python系统,避免各种各样的陷阱. 如果使用caffe+ anacoanda 已经遇到的陷阱有 1. ...
- webStorm 多列编辑
webStorm可以像Sublime一样使用列编辑,只是区别在于webStorm只可以编辑连续列表. 按住alt键鼠标选择一列,然后输入文字就会编辑多行,这个功能很赞,比较实用(按住ALT键选中之后, ...