UVA232
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA232相关的知识,希望对你有一定的参考价值。
这只是大概的雏形。
步骤就是:1输入网格,2给网格里的起始格编序号,3输出所有字母,前面要加序号
#include<stdio.h> #include<ctype.h> #include<string.h> char a[15][15];//保存字母和* int b[15][15];//保存顺序编号 int main(){ int r,c; int d=0; scanf("%d %d",&r,&c); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); //输入网格 getchar();//输入字符串要加getchar来跳过回车 for(int i=0;i<r;i++) gets(a[i]); //标记起始格 for(int i=0;i<r;i++) for(int j=0;j<c;j++){ if(a[i][j] != ‘*‘ && (!isalpha(a[i][j-1]) || !isalpha(a[i-1][j-1]) ) ) b[i][j]=++d; } for(int i=0;i<r;i++) for(int j=0;j<c;j++){ if(b[i][j] && (b[i][j-1] == ‘*‘ || !b[i][j-1])){ printf("%d.",b[i][j]); }//输出数字 if(isalpha(a[i][j])) putchar(a[i][j]);//输出每一个字母 if(a[i][j+1] == ‘*‘ || !a[i][j+1]){ printf("\n"); } } return 0; }
以上是关于UVA232的主要内容,如果未能解决你的问题,请参考以下文章
[算法竞赛入门经典] Crossword Answers ACM/ICPC World Finals 1994,UVa232