UVa 232 - Crossword Answersa
来源:互联网 发布:淘宝失效宝贝什么意思 编辑:程序博客网 时间:2024/06/06 06:56
题意:在一个有字母和*号组成的二维字符表中,按照从上到下、从左到右的顺序输出横向和纵向的单词,其中由*与二维字符表的边界作为单词之间的分隔标志,每个单词前都要有按照题意规定的每个字符在在表中的序号,且输出单词要按照序号顺序输出。
题解:可以用一个二维字符数组来存储字符,再用相同大小的整数数组来储存二维字符数组中各位置字符所在标号。输出纵向单词的时候要先将单词输出顺序进行排序(按照顺序扫描的话会出现更大序号单词先出现的情况)再输出。输出格式注意一下,输出样例之间有空行,结尾没空行。
#include<cstdio>#include<string.h>#include<stdlib.h>#define MAX 20int main(){int r, c;int count = 1;//统计输出样例个数 int cal;//序号 char init[MAX][MAX];//保存字符的数组 int num[MAX][MAX];//保存矩阵中字符的序号 int judge=0;scanf("%d", &r);while(r!=0){cal=1;scanf("%d", &c);memset(init, 0, sizeof(init));memset(init, 0, sizeof(num));fflush(stdin);for(int i=0; i<r; i++){scanf("%s", init[i]);}for(int i=0; i<r; i++){for(int j=0; j<c; j++){if((i==0 || j==0 || init[i-1][j]=='*' || init[i][j-1]=='*')&&init[i][j]!='*'){num[i][j]=cal;cal++;}}}printf("puzzle #%d:\n", count++);printf("Across\n");for(int i=0; i<r; i++){for(int j=0; j<c; j++){if((j==0 || init[i][j-1]=='*') && init[i][j]!='*'){printf("%3d.%c", num[i][j], init[i][j]);//注意输出是%3d judge=0;continue;}if((init[i][j]=='*')){if(judge!=1){printf("\n");judge=1;}continue;}printf("%c", init[i][j]);}if(judge==0){printf("\n");judge=1;}}printf("Down\n");for(int i=0; i<r; i++){for(int j=0; j<c; j++){if((init[i-1][j]=='*' || i==0 ) && init[i][j]!='*'){num[i][j]*=100;//按顺序将要输出的那些序号重新排序 }}}for(int i=0; i<r; i++){for(int j=0; j<c; j++){if(num[i][j]>=100){printf("%3d.%c", num[i][j]/100, init[i][j]);for(int k=i+1; k<r&&init[k][j]!='*'; k++){printf("%c", init[k][j]);}printf("\n");}}}scanf("%d", &r);if(r!=0)printf("\n");}return 0;}
0 0
- UVa 232 - Crossword Answersa
- uva 232 - Crossword Answers
- uva 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232 - Crossword Answers
- Uva-232 - Crossword Answers
- uva---232--- Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232Crossword Answers
- 【Uva 232】 Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 Crossword Answers
- UVA - 232 Crossword Answers
- Uva - 232 - Crossword Answers
- UVa 232 - Crossword Answers
- Uva 232 Crossword Answers
- 判断100到200之间的素数的方法的不断优化
- Android开发--Intent-filter属性详解
- scjd认证
- CentOS 下安装 Nginx
- Mockplus ▪ UXPA第八届中国用户体验设计成都赛区决赛成功举行
- UVa 232 - Crossword Answersa
- 04-树6 Complete Binary Search Tree
- C++构造函数后面的冒号
- 字面量
- [Lintcode]Intersection of Two Linked Lists 两个链表的交叉
- JAVA从菜鸟【入门】到新手【实习】一一潮流:物联网硬件开发基础,“硬件开发”的技术储备
- js获取后台Model中的值
- javascript跳跃式前进(5) - 深入浅出this[六种模式]
- Android 传感器 (详解二)—— 常用传感器